微服务领域对 API 网关有新的需求:更高的灵活性、更高的性能要求,以及云原生的贴合。
APISIX 基于 etcd 来完成配置的保存和同步,而不是 postgres 或者 MySQL 这类关系型数据库。 这样不仅去掉了轮询,让代码更加的简洁,配置同步也更加实时。同时系统也不会存在单点,可用性更高。
另外,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。
APISIX 设计和开发的目标之一,就是业界最高的性能。具体测试数据见这里:https://github.com/iresty/apisix/blob/master/doc/benchmark-cn.md。
APISIX 是当前性能最好的 API 网关,单核 QPS 达到 2.3 万,平均延时仅有 0.6 毫秒。
是的,在 0.6 版本中我们内置了 dashboard,你可以通过 web 界面来操作 APISIX 了。
当然可以,APISIX 提供了灵活的自定义插件,方便开发者和企业编写自己的逻辑。
主要看中如下几个特性:
- 良好的集群支持
- 自带高可用解决方案
- 配置版本号跟踪
- 支持 watch 方法增量获取
- 支持获取历史版本配置
- 完整持久化处理
- 高性能
- 支持事务
在 APISIX 中需要一个配置中心,上面提到的很多功能是传统关系型数据库无法提供的。与 etcd 同类软件还有 Consul ,APISIX 将来也许会支持 Consul。