a. 编写插件可以使用的语言 lua,Go,python,js
kong 在 2.6.x 支持了其他语言编写插件,有 Go,python,js,文档地址:https://docs.konghq.com/gateway/2.6.x/reference/external-plugins/ 。更老的版本应该也有支持的,得去看文档 。
它还有一个编写插件的模板 。
b. 插件市场 plugin hub
kong 也有自己的一个插件市场,也就是说你也可以给 kong 贡献第三方插件,是优质插件可能会被收录 。
- 通过 admin-api 来管理 kong
web UI 界面管理kong 企业版提供了管理 UI,开源版本没有管理 UI 。但是程序员是多么的勤奋也崇尚开源,所以就有很多开源贡献的管理 UI,其中比较好用的,介绍 1 个,konga 。
konga 看 github 上的更新时间,也是 3 年前了,也算比较老的了 。
3.1.3 APISIX 网关APISIX 介绍Apache APISIX 是 Apache 软件基金会下的云原生 API 网关,它兼具动态、实时、高性能等特点,提供了负载均衡、动态上游、灰度发布(金丝雀发布)、服务熔断、身份认证、可观测性等丰富的流量管理功能 。我们可以使用 Apache APISIX 来处理传统的南北向流量,也可以处理服务间的东西向流量 。同时,它也支持作为 K8s Ingress Controller 来使用 。
apisix 也是基于 nginx,openresty 的 。
apisix 文档:apisix docAPISIX 架构整体架构图:
apisix github:apisix github

文章插图
?(from:https://apisix.apache.org/zh/docs/apisix/getting-started/)
从图上可以看出,APISIX 底层基座也是基于 Nginx 和 OpenResty 。运行在基座之上的是 APISIX 软件 。
- 底层技术基座:Nginx 和 OpenResty
- APISIX软件:看上面架构图,
第一部分:APISIX Core,apisix 核心,包括 Lua 插件、多语言插件运行时(Plugin Runner)、Wasm 插件运行时等
第二部分:各种内置插件,包括可观测性、安全、流量控制等插件 。
技术架构图:
从另外一个角度来看看apisix架构,分为数据面和控制面:

文章插图
?(from:https://github.com/apache/apisix)
- apisix 使用 etcd 作为配置中心来进行数据信息保存和同步配置 。
- 扩展能力-插件功能
b)它也有一个插件市场,plugin hub 。
【10 微服务架构学习与思考:微服务网关和开源 API 网关01-以 Nginx 为基础的 API 网关详细介绍】c)当然你也可以自定义插件 。这些看起来与 kong 开源版本拥有扩展功能差不多 。
- 高可用集群
- Apache APISIX 的数据平面是无状态的,可以进行随意的弹性伸缩,前面加一层负载均衡即可
- Apache APISIX 的控制平面是依赖于 etcd cluster 的高可用实现的,不需要任何关系型数据库的依赖
与 kong 区别:Web UI通过RESTful API 来管理 apisix,通过 Admin API 来管理 apisix 节点 。通过 Control API 控制单个 apisix 数据平面行为 。
这第二点与 Kong 集群有区别,Kong 集群依赖的是 Postgre 和 Cassandra 。
官方还提供了一个 Dashboard,通过 UI 管理 apisix 。
与 kong 区别:3.1.4 Orange 网关这个 orange 也是一 OpenResty 为基础开发的网关,
kong 开源版本没有这个 Dashboard 功能,企业版本有 。
经验总结扩展阅读
- 王者荣耀10月8日微信每日一题答案是什么
- 2022火影忍者10月8日微信每日一题答案是什么
- 小天才z7可以登微信吗_小天才z7能不能下载微信
- 王寨服务区是哪个省的
- 在恋爱关系中不会让自己卑微的星座
- 六塘服务区属于哪里
- 原本高傲自大,谈恋爱就卑微成狗的星座
- 爱得卑微,为了爱情没有底线的星座
- 王者荣耀10月9日微信每日一题答案是什么
- 黑色沙漠微信每日一题10.9答案是什么