系统软件 应用软件 图形软件 行业软件 安全相关 网络软件 聊天软件 影音软件 教育教学 驱动工具 编程开发 插件下载 源码下载 APP电脑版 其他类别

Apache APISIX官方版

v2.5

Apache APISIX官方版

  • 软件大小:0.3 MB
  • 软件语言:简体中文
  • 软件授权:共享软件
  • 软件类型:编程开发
  • 软件平台:WinAll
  • 更新时间:2022-01-27 15:11
  • 星级评分:4级
  • 软件官网:https://www.downza.com/
好评:50%顶一个
坏评:50踩一个

Apache APISIX简介

Apache APISIX是一个API。如果需要配置,可以下载这个软件。现在很多开发都需要配置。设计web程序时可以添加路由,配置数据传输方案时可以配置路由。开发数据库时也需要配置。通过配置路由和实现数据通信,可以实现数据请求。您可以将数据请求的服务流程访问/[k0/]并通过点击API函数来部署您。Apache APISIX应用广泛,web程序和云服务都可以用这个软件配置!

Apache APISIX软件功能

Apache APISIX是一个动态、实时、高能的API。

APISIX提供了丰富的流量管理功能,如负载均衡、动态上行、加那利释放、电路中断、认证、可观测性等。

您可以使用Apache APISIX来处理服务之间的传统南北流量和东西流量。也可作为k8s进气控制器。

Apache APISIX的技术架构:

您可以使用Apache APISIX作为流量入口来处理所有业务数据,包括动态路由、动态上游、动态证书、A/B测试、canary release、青色部署、速率限制、恶意攻击防范、指标、监控告警、服务可观察性、服务治理等。

云原生微服务应用编程接口可以为所有应用编程接口和微服务提供终极、安全、开源和可扩展的平台。Apache APISIX基于Nginx和etcd。与传统的API相比,APISIX具有动态路由和插件热加载功能,特别适合微服务系统中的API管理。

APISIX为开发人员和企业提供了灵活的定制插件来编写自己的逻辑。

Apache APISIX软件特色

一、所有平台

原生云:平台无关,无需厂商锁定,APISIX可以从电脑运行到Kubernetes。

运行环境:支持OpenResty和Tengine。

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

第二,多协议

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

Dubbo代理:动态HTTP到Dubbo代理。

动态MQTT代理:client_id,支持MQTT的负载均衡,两者都支持MQTT 3.1。*,5.0。

GRPC pxy:代理GRPC通信。

GRPC转码:支持协议转码,让客户端可以使用HTTP/ON访问你的gRPC API。

代理网络套接字

代理协议

Dubbo特工:基于Tengine的Dubbo特工。

HTTP(S)转发代理

SSL:动态加载SSL证书。

第三,充满活力

热更新和热插件:不断更新其配置和插件,无需重启!

代理重写:支持在发送主机、u、schema、enable_websocket和头之前重写请求的上游。

响应覆盖:为客户端设置自定义响应状态代码、正文和标题。

无:在APISIX的每个阶段调用该函数。

动态负载平衡:循环负载平衡。

基于哈希的负载平衡:使用一致的哈希会话进行负载平衡。

健康状态:在上游节点启用健康状态,在负载均衡时自动过滤异常节点,保证系统稳定。

断路器:智能跟踪不健康的上游服务。

代理镜像:提供镜像客户端请求的功能。

流量分配:允许用户逐步引导每个上游之间的流量百分比。

第四,细粒度路由

支持全路径匹配和前缀匹配。

支持所有Nginx内置的变量条件路由,这样就可以使用cookie、args等。,如接线条件等。、释放丝线、A/B测试等。

支持各种商数作为路由判断条件,如{ & # 8220;arg _ age & # 8221, “& gt”, 24}

支持自定义路线匹配功能

IPv6:使用IPv6匹配路由。

TTL支持

支持优先级

支持批量Http请求

动词 (verb的缩写)安全

认证:key-th,JWT,basic-th,wolf-rbac

IP白名单/黑名单

推荐白名单/黑名单

IdP:支持外部认证服务,如Auth0、okta等。用户可以使用它连接到OAuth 2.0和其他身份验证方法。

极限要求

限制数量

并发限制

防重做(正则表达式拒绝服务):防重做的内置策略不需要配置。

CORS为您的应用编程接口启用了CORS(跨域资源共享)。

I阻止程序:按I阻止客户端请求。

请求验证程序

不及物动词有利于行动

开放追踪:支持阿帕奇空中漫步和Zipkin

与外部服务发现一起使用:除了内置的etcd之外,它还支持Consul、Nacos和Eureka。

监测指标:普罗米修斯

集群:APIXF节点是无状态的。请参考etcd集群指南创建配置中心集群。

可用:支持在同一个群集中配置多个etcd地址。

仪表盘

版本控制:支持后退。

CLI:通过命令行启动停止重新加载APISIX。

:支持从本地YAML文件加载路由规则,这更友好,例如在kubernetes(k8s)下。

全局规则:允许任何插件为所有请求运行,如速率限制、IP过滤器等。

高能:单核QPS达到18k,平均延迟小于0.2毫秒..

故障注入

REST Admin API:使用REST Admin API控制Apache APISIX(默认只允许127.0.0.1访问)。您可以修改允许管理字段conf/config.yaml来指定允许调用管理应用编程接口的IP列表。此外,请注意,管理应用编程接口使用密钥身份验证来验证调用方的身份。admin_key字段conf/config.yaml需要在部署前修改,以确保安全性。

外部日志记录器:将访问日志导出到外部日志管理工具。(HTTP记录器、TCP记录器、卡夫卡记录器、UDP记录器)

方向舵图表

七、高度可扩展

自定义插件:允许钩子公共阶段,如重接、访问、头过滤器、体过滤器和日志,还允许钩子平衡器阶段。

自定义负载平衡算法:您可以在此平衡器阶段使用自定义负载平衡算法。

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

Apache APISIX教程

开始#

本指南的目的是开始使用Apache APISIX。我们将配置服务,该服务将被路由到受API密钥保护的公共API。

此外,我们将以下面的echo端点为例,它将返回我们传递的参数。

要求

回答

我们来解构一下上面的请求l。

通信协议:HTTP

端口:80

主持人:httpbin.org

I/path: /get

查询参数:foo1,foo2

先决条件#

如果您已经安装了Apache APISIX,请随意跳到步骤2。

本指南使用Docker和Docker Compose来设置Apache APISIX。

Curl:本指南使用curl命令进行API测试,但是您也可以使用任何其他工具,例如Postman。

我知道你在等一会儿。开始吧!

步骤1:安装Apache APISIX #

感谢Docker,我们可以通过执行以下命令启动Apache APISIX并启用Admin API:

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

我们希望返回以下数据:

步骤2:创建路线#

恭喜你!您现在有了Apache APISIX的运行实例!接下来,让我们创建一条路线!

在我们继续之前#

你知道吗?/你知道吗?Apache APISIX提供了一个强大的Admin API和仪表盘供我们使用,但是在本指南中我们将在这里使用Admin API。走吧!

我们可以创建一个路由,并将其定位到我们的后端服务(通常称为上游)。当请求路由到达Apache APISIX时,Apache APISIX将看到请求的去向。

那你是怎么知道的?这是因为我们有一个配置了路由的规则列表。以下是路由数据的示例

此路由意味着,当所有入站请求满足httpbin.org:80的所有这些规则(匹配请求)时,它们将被转发到上游:

请求的HTTP方法是GET

该请求有一个主机头,其值为example.com:

请求的路径匹配/s/user/*,而*表示所有子路径,如/s/user/GetAll?极限=10 .

创建此路由后,我们可以使用Apache APISIX的地址来访问我们的后端服务(实际上是上游):

创建上游#

阅读了上面的部分后,我们知道必须将上游设置为路线。只需执行以下命令来创建一个:

我们使用它的undbin作为负载平衡器机制,并将httpbin.org:80设置为我们的上游目标(后端),ID为50。有关更多字段,请参见管理应用编程接口。

注意:创建一个上游实际上是没有必要的,因为我们可以使用插件拦截请求的直接响应,但是假设我们需要上游在本指南中至少设置一个。

与上游#绑定路线

我们刚刚创建了一个上游(参考我们的后端服务),让我们绑定一个路由!

就这样!

验证#

再次恭喜你!我们创建了一条路线和一条上游路线,并将它们绑定在一起。现在,让我们调用Apache APISIX来测试d ute。

哇哦!它将从我们的上游(实际上是httpbin.org)返回数据,并且工作正常!

高级#

验证号

让我们做一些有趣的事情。因为任何人都可以访问我们在步骤2中创建的公共路线,所以我们只希望约翰可以访问它。让我们使用用户和插件来实现这种保护。

首先,让我们使用key-th插件来创建用户。我们需要提供一把指定的钥匙:约翰。

接下来,让我们将消费者(约翰)与路线结合起来。我们只需要启用关键的AUTH插件Route:

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

是的,刚刚添加了一个名为apikey的Header,带有正确的密钥!保护一切都很容易,Routes,对吧?

路线编号中的前缀

现在,假设您想给路由添加一个前缀(例如,samplePrefix),并且不想使用主机头,您可以使用pxy-rewte插件来实现这一点。

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

$ curl-I-X GET " http://127 . 0 . 0 . 1:9080/sample prefix/GET?Param 1 = foom2 = bar "-h" API密钥:约翰密钥"副本

Apsixdashboard #

/[/k0/

Apache APISIX常问问题

为什么要使用新的API?

微服务领域对API有了新的要求:更高的灵活性、更高的性能要求和云原生。

APISIX和其他API有什么区别?

APISIX是基于etcd来保存和同步配置,而不是Postgres或MySQL等关系数据库。

这不仅消除了查询,使代码更加简洁,而且使配置同步更加实时。同时系统中也不会有单点,会更有用。

此外,APISIX还具有插件动态路由和热加载功能,特别适合微服务系统中的API管理。

APISIX怎么样?

APISIX设计和开发的目标之一是获得行业最高的性能。具体的测试数据可以在这里找到:基准

apif6是最高的API,单核QPS为23,000,平均延迟仅为0.6毫秒。

APISIX有控制台界面吗?

是的,APISIX有一个强大的仪表板。APIFIX和APIFIX仪表板是项目。您可以通过网络界面部署APIX6仪表板来制作APIX6。

收起介绍展开介绍
  • 安卓合集
  • 软件合集
  • 浏览器
  • 电脑管家
  • 安卓游戏
更多 >> 安卓合集安卓合计

热门推荐

装机必备软件