API7 企业版 3.2.12:支持高效便捷的四层路由管理

更新时间 5/24/2024

API7 企业版 3.2.12 版本中支持了四层路由代理功能,该功能可以实现 TCP/UDP 协议流量的代理和负载均衡。通过配置四层路由,API7 企业版能够代理基于 TCP 协议的 MySQL、MongoDB 等服务的请求,也可以代理 Redis 这类能配置为 TCP 或 UDP 协议的应用,实现了对 TCP/UDP 网络流量的有效管理和优化。

如何在 API7 企业版中使用四层路由功能?

添加 Stream 服务

在手动添加服务时,增加了服务类型的选项,支持 HTTP 和 Stream 两种类型,分别代表七层代理和四层代理。若服务类型选择 Stream,上游协议支持可选择 TCP 或 UDP 两种协议类型。要注意的是,在为服务添加服务类型后将无法再更改,请确保选择正确的服务类型。

Add Stream Service Type

添加四层路由

Stream 类型的服务创建成功后会进入服务详情页。下一步我们需要进行路由的添加,点击添加四层路由的按钮。

Add Routes for Services

在表单中填写路由的名称描述及相关路由配置,这里我们配置一个用于代理 MySQL 服务的路由。

Add Stream Route

四层路由相较于普通 HTTP 路由的配置项有所不同,它的三个配置项的含义如下:

  • 服务器地址:即接收四层路由连接的网关服务器的地址,也是四层流量进入网关的入口点。当客户端尝试建立连接时,它们会向这个地址发送请求,然后由网关根据配置的路由规则进行转发或处理。

  • 服务端口:用于指定网关服务器监听流量的端口。

  • 远程地址: 即发起请求的客户端地址。只有与路由配置中的远程地址相同的客户端地址发送的请求,才会被转发,从而实现对特定客户端的流量管理。

路由创建成功后,我们可以看到列表中新增了 MySQL 路由:

MySQL Routes Added

配置上游节点并发布服务

接下来我们将该服务发布到网关组,并且添加一个对应 MySQL 服务的上游节点:

Add Node for MySQL Service

在服务发布后,当网关服务器 127.0.0.10 和端口 9101 接收到请求时,这个路由就负责处理该请求,并将请求转发到 MySQL 上游。

除了基本的请求转发功能,服务发布后还可以通过一系列的配置,来优化和增强服务的性能和安全性。例如,可以为四层路由配置负载均衡策略,确保流量能够均匀地分布到多个 MySQL 上游服务器上,从而提高系统的可扩展性和容错能力。

支持的插件

目前四层服务和路由支持以下四种插件:

  1. ip-restriction:提供 IP 访问控制的能力

  2. limit-conn:连接限制插件可以限制客户端对单个服务的并发请求数

  3. prometheus:为四层路由提供了系统监控和警报的功能

  4. syslog:记录并发送系统日志

这四个插件共同增强了四层路由的安全性、稳定性、可监控性和可维护性。

总结

API7 企业版 3.2.12 版本的四层路由功能为用户提供了更加强大和灵活的 TCP/UDP 协议流量管理能力,有助于提升应用程序的可靠性和可扩展性。它为企业用户带来了更强大的网络流量管理能力、更高的系统可靠性和运维效率,以及更出色的业务适应性,对于支撑企业关键应用程序的运行具有重要价值。

微信咨询

获取方案