Apache APISIX软件是一款强大的微服务网关管理软件,您可以能够通过这款工具管理您的网络,如协调负载平衡,监控报警,抵御恶意工具和其它的网络问题;这款软件基于原生平台所打造,能够兼容多种环境,用户可以能够轻松将其部署在目前主流的多种平台中;Apache APISIX强大的功能可以能够为网络维护人员能够提供许多便捷的网络运维管理解决方案,让用户能够高效、有效的管理自己的网络;Apache APISIX拥有的极高的性能,无论使用它处理任何网络问题都是很快的;总之这款工具对管理大型网络十分有用,感兴趣的朋友欢迎在本站下载体验。

软件功能
所有平台
原生云:与平台无关,无供应商锁定,APISIX可以能够从裸机运行到Kubernetes。
运行环境:同时支持OpenResty和Tengine。
支持ARM64:不用担心基础技术的锁定。
多协议
TCP UDP代理:动态TCP/UDP代理。
Dubbo代理:动态HTTP到Dubbo代理。
动态MQTT代理:支持对MQTT进行负载平衡client_id,均支持MQTT 3.1。*,5.0。
gRPC proxy:代理gRPC通信。
gRPC转码:支持协议转码,以便客户端可以能够使用HTTP / JSON访问您的gRPC API。
代理Websocket
代理Dubbo:基于Tengine的Dubbo代理。
HTTP(S)转发代理
SSL:动态加载SSL证书。
全动态
热更新和热插件:不断更新其配置和插件,而无需重新启动!
代理重写:支持重写host,uri,schema,enable_websocket,headers发送之前该请求的上游。
响应重写:为客户端设置自定义的响应状态代码,正文和标头。
无服务器:在APISIX的每个阶段调用功能。
动态负载平衡:循环负载平衡。
基于散列的负载平衡:具有一致的散列会话的负载平衡。
运行状况检查:在上游节点上启用运行状况检查,并在负载平衡期间自动过滤不正常的节点,以确保系统稳定性。
断路器:智能跟踪不健康的上游服务。
代理镜像:能够提供镜像客户端请求的功能。
流量分配:允许用户逐步引导各个上游之间的流量百分比。
细粒度的路由
支持完整路径匹配和前缀匹配
支持所有的Nginx内置变量条件路由,这样你就可以能够使用cookie,args等如布线的条件来实现金丝雀释放,A / B测试等。
支持各种运营商作为路由的判断条件,例如{ arg_age , , 24}
支持自定义路由匹配功能
IPv6:使用IPv6来匹配路由。
支持TTL
支持优先
支持批处理Http请求
安全
身份验证:key-auth,JWT,basic-auth,wolf-rbac
IP白名单/黑名单
引荐人白名单/黑名单
IdP:支持外部身份验证服务,例如Auth0,okta等,用户可以能够使用它来连接到OAuth 2.0和其他身份验证方法。
极限要求
极限数
极限并发
Anti-ReDoS(正则表达式拒绝服务):Anti ReDoS的内置策略,无需配置。
CORS为您的API启用CORS(跨域资源共享)。
URI阻止程序:按URI阻止客户端请求。
请求验证器
OPS友好
OpenTracing:支持Apache Skywalking和Zipkin
与外部服务发现一起使用:除了内置的etcd外,它还支持Consul和Nacos以及Eureka
监控和指标:普罗米修斯
集群:APISIX节点是无状态的,创建配置中心的集群,请参考etcd集群指南。
高可用性:支持在同一群集中配置多个etcd地址。
仪表盘
版本控制:支持操作回滚。
CLI:通过命令行启动\停止\重新加载APISIX。
独立:支持从本地YAML文件加载路由规则,它更加友好,例如在kubernetes(k8s)下。
全局规则:允许针对所有请求运行任何插件,例如:限制速率,IP过滤器等。
高性能:单核QPS达到18k,平均延迟小于0.2毫秒。
故障注入
REST Admin API:使用REST Admin API来控制Apache APISIX(默认情况下仅允许127.0.0.1访问),您可以能够修改其中的allow_admin字段conf/config.yaml以指定允许调用Admin API的IP列表。另外,请注意,Admin API使用密钥身份验证来验证调用者的身份。部署前需要修改其中的admin_key字段,conf/config.yaml以确保安全。
外部日志记录器:将访问日志导出到外部日志管理工具。(HTTP记录器,TCP记录器,Kafka记录器,UDP记录器)
舵图
高度可扩展
定制插件:允许挂钩共同相,如rewrite,access,header filter,body filter和log,还允许钩balancer阶段。
自定义负载平衡算法:您可以能够在此balancer阶段中使用自定义负载平衡算法。
自定义路由:支持用户自己实现路由算法。
软件特色
1、易于安装和部署,该工具可以能够帮助网络维护人员更好的维护网络。
2、这款工具可以能够为用户能够提供动态、实时、高效的API网关服务。
3、使用这款工具您可以能够很好的管理您的网络流量。
4、支持流量的负载平衡、动态平衡、电路中断、身份验证等管理功能。
5、通过这款工具您可以能够轻松处理传统南北流量服务的东西向流量。
6、这款工具还可以能够用作k8s入口的控制器使用。
7、这款工具支持的功能非常强大,如A/B测试、蓝绿色部署、限制速率、防御恶意攻击等都可以能够使用它处理。
8、使用这款工具您还可以能够在API Gateway中实现插件编排。
9、很多知名的大企业都在使用这款工具管理网关和管理网路。
10、这款工具非常安全,能够抵御使用过程中的各种网络工具。
11、这款工具软件是一个开源工具,因此用户可以能够免费部署它。
12、该工具具有出色的性能,可以能够为企业带来最佳的网关管理解决方案。
官方教程
步骤1:安装Apache APISIX
感谢Docker,我们可以能够通过执行以下命令来启动Apache APISIX并启用Admin API:

下载所有需要的文件将花费一些时间,这取决于您的网络,请耐心等待。完成此步骤后,我们可以能够使用curlAdmin API来判断Apache APISIX是否成功启动。

我们希望返回以下数据:

第2步:创建路由
恭喜你!您现在有一个正在运行的Apache APISIX实例!接下来让我们创建一条路线!
在我们继续之前
你知道吗?Apache APISIX能够提供了功能强大的Admin API和仪表板供我们使用,但是我们将在本指南的此处使用Admin API。我们走吧!
我们可以能够创建一个Route并将其定位到我们的后端服务(通常称为上游),当一个Request路由到达Apache APISIX时,Apache APISIX将看到该请求的去向。
那么Apache APISIX如何知道这一点?那是因为我们有一个使用Route配置的规则列表。以下是路线数据示例:

此路由意味着当所有入站请求httpbin.org:80符合所有这些规则(匹配的请求)时,它们将被转发到上游:
请求的HTTP方法是GET;
请求具有Host标头,其值为example.com:
请求的路径匹配/services/users/*,*表示所有子路径,例如/services/users/getAll?limit=10。
创建此路由后,我们可以能够使用Apache APISIX的地址访问我们的后端服务(实际上是上游):

这将由http://httpbin.org:80/getAll?limit=10Apache APISIX转发。
创建上游
阅读以上部分后,我们知道我们必须将Upstreamfor设置为Route。只需执行以下命令即可创建一个:

我们将其roundrobin用作负载平衡器机制,并将其设置httpbin.org:80为我们的上游目标(后端服务器),其ID为50。有关更多字段,请参阅Admin API。
注意: Create an Upstream实际上并不是必需的,因为我们可以能够使用插件来拦截请求然后直接响应,但是假设我们需要Upstream在本指南中至少设置一个。
与上游绑定路线#
我们刚刚创建了一个上游(参考我们的后端服务),让我们绑定一条路由!

就是这样!
验证
再次恭喜您!我们创建了一个Route和Upstream,还将它们绑定在一起。现在,让我们调用Apache APISIX来测试created route。

哇!它会从我们的Upstream(httpbin.org实际上)返回数据,它按预期工作!
进阶#
验证号码
让我们做一些有趣的事情,由于任何人都可以能够访问我们Route在Step2中创建的公众,我们只希望John可以能够访问它。让我们使用使用者和插件来实现此保护。
首先,让我们使用key-auth插件创建使用者 ,我们需要能够提供一个指定的密钥:John

接下来,让我们结合我们的Consumer(John)到Route,我们只需要启用的关键AUTH该插件Route:

好的,当我们Route从现在开始访问在步骤2中创建的内容时,将发生未授权错误。让我们看看如何访问它Route:

是的,刚刚添加了一个带有正确密钥的Header被叫apikey!保护任何东西都很容易Routes,对吧?
路线编号中的前缀
现在,假设您要在路由中添加前缀(例如:samplePrefix),并且不想使用host标头,则可以能够使用proxy-rewrite插件来执行此操作。

现在,您可以能够使用以下命令调用路由:

APISIX仪表板
Apache APISIX能够提供了一个仪表板,使我们可以能够更轻松地操作Apache APISIX。

故障排除
确保所有必需的端口(默认为9080/9443/2379)未被其他系统/进程使用。
以下命令将终止正在特定端口上侦听的进程(在基于UNIX的系统中)。

如果Docker容器持续不断地重启/失败,则只需访问该容器并观察日志以了解发生了什么情况。

版权声明:Apache APISIX(微服务API网关)所展示的资源内容均来自于第三方用户上传分享,您所下载的资源内容仅供个人学习交流使用,严禁用于商业用途,软件的著作权归原作者所有,如果有侵犯您的权利,请来信告知,我们将及时撤销。
软件下载信息清单:
驱动文件名称 | 发布日期 | 文件大小 | 下载文件名 |
---|---|---|---|
Apache APISIX(微服务API网关)安装包 | 2024年11月11日 | 312 KB | apacheapisixsrc.zip |
软件评论