GitHub精选 | Apache APISIX API 网关

GitHub精选 | Apache APISIX API 网关

精选文章moguli202025-01-07 11:49:2927A+A-

《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个云原生、高性能、可扩展的微服务 API 网关。它是基于 Nginx 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,适合微服务体系下的 API 管理。



特点:

可以使用Apache APISIX作为流量入口处理所有业务数据,包括动态路由、动态上游、动态证书、A/B测试、金丝雀发布、蓝绿部署、限速、防御恶意攻击、指标、监控告警、服务可观察性、服务治理等。

1.适用于各种平台:

云原生:平台无关,无供应商锁定,APISIX 可以从裸机运行到 Kubernetes

运行环境:支持OpenResty和Tengine

支持ARM64:不用担心基础技术的锁定

2.支持多种协议

TCP/UDP 代理:动态 TCP/UDP 代理

Dubbo Proxy : 动态 HTTP 到 Dubbo 代理

动态 MQTT 代理:支持 MQTT 负载均衡client_id,均支持 MQTT 3.1.* , 5.0

gRPC 代理:代理 gRPC 流量

gRPC 转码:支持协议转码,以便客户端可以使用 HTTP/JSON 访问您的 gRPC API

Proxy Dubbo:基于Tengine的Dubbo Proxy

HTTP(S) 转发代理

SSL:动态加载 SSL 证书

3.更加安全的处理

身份验证:key-auth、JWT、basic-auth、wolf-rbac、casbin、keycloak

IP白名单/黑名单

推荐人白名单/黑名单

IdP:支持外部认证服务,如Auth0、okta等,用户可以使用它连接OAuth 2.0等认证方式

Anti-ReDoS(正则表达式拒绝服务):无需配置即可实现 Anti-ReDoS 的内置策略

CORS为您的 API 启用 CORS(跨源资源共享)

URI Blocker:通过 URI 阻止客户端请求

4.可扩展度

定制插件:允许挂钩共同相,如rewrite,access,header filter,body filter和log,还允许钩balancer阶段。

插件可以用Java/Go/Python编写

自定义负载均衡算法:您可以在该balancer阶段使用自定义负载均衡算法。

自定义路由:支持用户自行实现路由算法。

使用:

第一步:安装依赖

第二步:安装 Apache APISIX

第三步:管理 Apache APISIX 服务器

第四步:运行测试用例

第五步:更新管理 API 令牌以保护 Apache APISIX

第六步:为 Apache APISIX 构建 OpenResty

第七步:为 Apache APISIX 添加 Systemd 单元文件

Apache APISIX 的优势

APISIX属于阿帕奇基金会,技术架构使用nginx+etcd,沟通渠道包括邮件,微信,QQ,GitHub,Slack等,支持潜伏、配置回滚、插件热加载、自定义路由,Rest Aps到GRPC转码,独有的仪表盘,配置中心高可用,支持i任何Nginx变量作为路由条件等。

官网:https://apisix.apache.org/

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2