美文网首页
2019-05-05

2019-05-05

作者: CodingMen | 来源:发表于2019-05-07 14:35 被阅读0次

    1、功能介绍

    KONG是Mashape开源的高性能、高可用的API网关和API服务管理层,它基于Nginx服务器,底层引擎使用OpenResty构建,插件层基于Lua语言开发。
    Kong运行时,每个API请求都先被Kong命中,然后请求会被代理转发到最终API接口,在requests和responses之间,所有安装和配置的插件都会被执行。

    • 可以通过插件扩展已有功能,提供的服务包括:
    • HTTP基本认证、秘钥认证
    • CORS(跨域资源共享标准)、TCP、UDP
    • 文件日志、API请求限流、请求转发、Nginx监控
    • KONG与传统API网关相比的优点:


      image.png

    2、主要组件

    • Kong Server:基于Nginx服务器,用来接收API请求
    • Apache Cassandra、PostgreSQL:用来存储操作数据
    • Kong dashboard:官方推荐UI管理工具

    3、网关插件

    • 身份认证插件:Basic Authentication、Key authentication、OAuth2.0 authentication、HMAC authentication、JWT、LDAP authentication
    • 安全控制插件:ACL(访问控制)、CORS(跨域资源共享)、动态SSL、IP限制、爬虫检测实现
    • 流量控制插件:请求限流(基于请求计数限流)、上游响应限流(根据upstream响应计数限流)、请求大小限制。限流支持本地、Redis和集群限流模式
    • 分析监控插件:Galileo(记录请求和响应数据,实现API分析)、Datadog(记录API Metric如请求次数、请求大小、响应状态和延迟,可视化API Metric)、Runscope(记录请求和响应数据,实现API性能测试和监控)
    • 协议转换插件:请求转换(在转发到upstream之前修改请求)、响应转换(在upstream响应返回给客户端之前修改响应)
    • 日志应用插件:TCP、UDP、HTTP、File、Syslog、StatsD、Loggly等

    4、网关特性

    • 可扩展性:基于Nginx可以水平扩展多个Kong服务器,同时通过前置的负载均衡配置把请求均匀的分发到各个Server
    • 模块化:可以通过添加新的插件进行扩展,插件可以通过RESTful Admin API轻松配置
    • Kong核心基于OpenResty(OpenResty是一个基于Nginx与Lua的高性能Web平台,用于方便的搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关),实现了请求、响应的Lua处理化
    • 通过实现请求、响应的AOP处理,实现拦截请求、响应生命周期
    • 通过Kong Restful 提供API、API消费者、插件的管理
      构建
    • Kong集群中的节点通过gossip协议自动发现、同步配置信息到其他节点。


      image.png

    相关文章

      网友评论

          本文标题:2019-05-05

          本文链接:https://www.haomeiwen.com/subject/daecoqtx.html