APISIX 助力企业以云原生方式管理私有协议流量

更新时间 1/11/2024

私有协议的功与过

API 接口作为应用程序之间进行通信和数据交换的一种方式,它可以使用不同的协议来实现。HTTP 协议是最常用的一种协议,它基于 TCP/IP 网络模型,使用“请求-响应”的模式,适合于互联网上的分布式应用。

但是,HTTP 协议也有一些局限性,例如:

  • HTTP 协议是无状态的,每次请求都需要携带完整的信息,不能保持会话状态,这会增加网络开销和服务器负担。
  • HTTP 协议是基于文本的,传输的数据格式有限,不能直接传输二进制数据,需要进行编码和解码,这会降低效率和安全性。
  • HTTP 协议是单向的,客户端只能主动向服务器发起请求,服务器不能主动向客户端推送数据,这会影响实时性和交互性。

以证券为代表,证券行业是一个高度竞争、高度敏感、高度规范的行业,它对数据的传输速度、安全性、可靠性、一致性等方面有着极高的要求。 因此,证券行业往往会选择使用私有通信协议,而不是公开的标准协议,来实现其业务需求。

私有通信协议的优势主要有以下几点:

  • 私有通信协议可以根据证券行业的特点和需求,定制化数据格式、编码方式、传输机制、错误处理、加密算法等,提高传输效率和安全性,降低网络延迟和数据冗余。
  • 私有通信协议可以保证数据的一致性和完整性,避免因为协议的不兼容或不统一,导致数据的丢失、错乱、篡改等风险。
  • 私有通信协议可以增强数据的保密性和隐私性,防止数据被第三方截取、分析、利用等,保护证券行业的商业秘密和客户信息。

除了证券行业,还有一些其他的行业也比较倾向使用私有通信协议,例如:

  • 军事行业:军事行业涉及到国家安全和战略利益,对数据的保密性和可靠性有着极高的要求,因此会使用一些专门的加密协议和通信系统,例如美国的 STU-III 电话、中国的红旗 -9 导弹等。

  • 航空航天行业:航空航天行业涉及到高速、高精度、高复杂度的数据传输,对数据的实时性和准确性有着极高的要求,因此会使用一些专门的通信协议和通信系统,例如美国的GPS导航系统、中国的北斗导航系统等。

  • 金融行业:金融行业涉及到大量的资金流动和交易,对数据的安全性和效率有着极高的要求,因此会使用一些专门的通信协议和通信系统,例如美国的SWIFT支付系统、中国的银联支付系统等。

私有协议曾经是业务发展的重要支柱,由于私有协议是根据历史需求定制的,它们的周边设施往往是各自为政,缺乏统一的标准和规范。这导致了在架构设计、性能优化、可观测性分析等方面,私有协议与现代架构存在着显著的差距和不兼容。对于企业来说,需要一个高效、稳定、可观测的新架构产品,支持私有协议的同时,提升业务的质量和效率。

现代化 RPC 代理服务助力管理私有协议流量

随着私有协议开发、维护复杂度的持续增长,旧的代理服务已经不能满足企业在管理上的诉求,导致糟糕的维护成本、可观测性、安全性等问题。企业用户是时候使用现代化代理服务来代替管理私有协议流量。

主流方案介绍

APISIX xRPC

Apache APISIX 是一个高性能、可扩展、动态的 API 网关,它支持多种协议,包括 HTTP/HTTPS、gRPC、MQTT、WebSocket 等。 它可以实现负载均衡、服务发现、路由匹配、限流限速、服务熔断、身份认证、跨域访问等功能,为企业提供统一的 API 管理和保护。

APISIX xRPC 是 Apache APISIX 的一个新特性,它可以让企业用户在 API 网关上使用私有通信协议,例如 TCP/UDP、Dubbo/HSF 等。 它可以实现私有协议的转换、适配、代理、监控等功能,为企业提供灵活的协议选择和兼容性保障。

Apache APISIX 和 APISIX xRPC 的结合,可以让企业用户享受到现代架构的高效、稳定、可观测的优势,同时也可以保留私有协议的定制化、安全性、一致性的优势,实现业务的平滑迁移和升级。

Envoy metaProtocol

Envoy metaProtocol 是一种基于 Envoy 的应用层代理框架,它可以支持任何七层协议,例如 HTTP、gRPC、Dubbo、Thrift 等。它通过一个叫做“元数据”的概念,来抽象和转换不同协议的数据格式和语义。它还提供了一些通用的流量管理功能,例如负载均衡、路由、限流、熔断、故障注入、可观测性等。要为一个新的协议编写代理,只需要实现编解码器接口即可。Envoy metaProtocol 可以让用户在服务网格中灵活地选择和兼容不同的协议,提高业务的效率和稳定性。

方案对比

项目APISIX xRPCEnvoy metaProtocol
开发框架主要使用 Lua 编程语言开发的基于 RPC 的开发框架使用 C++ 编程语言开发的 Envoy 代理的一个扩展
应用场景支持私有协议;不支持多路复用支持私有协议;支持多路复用
生态系统基于 NGINX + Lua,拥有适用于微服务的插件生态系统,活跃的社区支持基于 Envoy,拥有丰富的 Filter 组件生态系统,与 Istio 等项目和工具有良好的集成
开发难度新增私有协议,通常是几周;上手难度小,开发复杂度低,维护成本低新增私有协议,通常是几月;上手难度大,开发复杂度高,维护成本高
语言异常影响范围影响范围:单个长连接,不影响其他连接影响范围:Envoy 服务级别;会影响所有其他 Envoy 连接

API7 企业版如何支持 RPC 协议

API7 企业版网关是一款基于 Apache APISIX 的云原生 API 网关解决方案,为企业提供高性能、高可用、高可扩展的 API 管理和保护服务。它支持多种协议,包括 HTTP/HTTPS、gRPC、MQTT、WebSocket 等,提供了 100+ 的开源和商业插件,实现了身份认证、安全防护、流量控制、服务治理、可观测性等功能。它还提供了 API 门户、应用性能管理、用户管理等控制平面服务,帮助用户快速构建和运维 API 服务。

前面有提到,Apache APISIX 的 xRPC 框架不支持多路复用,API7 网关企业版继承了开源 APISIX 已有优点的同时,补齐了 RPC 协议代理重要的一环,最终为企业用户带来如下优势:

  • 一是开发效率高,能够快速支持私有协议,快速适应业务的变化和需求;
  • 二是执行效率高、稳定性高,能够保证数据的传输速度和安全性;
  • 三是可观测性高,能够接入现代化可观测性组件,实时监控、分析数据的状态和性能。

更好性能

通过支持连接多路复用的方式,API7 网关企业版与后端服务能够在每个连接上承载多个客户端连接,当有新的客户端请求到达时,网关不需要立即与后端服务器握手建立一个新的连接,而是尽可能使用现有的连接。

这种方法可以减少频繁握手所造成的资源消耗,并收敛客户端连接数,避免在终端连接数暴增时对后端服务造成过大的压力。通过充分利用现有连接,我们能够提高系统的性能和稳定性。这种连接复用的机制为系统的可扩展性和可靠性提供了保障。

有关更多 API7 企业版的优势,可访问:https://www.apiseven.com/apisix-vs-enterprise

总结

APISIX xRPC 和 Envoy metaProtocol 不论在技术层面还是用户层面都有其独特的优势和价值。Envoy metaProtocol 在服务网格等复杂场景中具有深度整合和成熟的生态系统,能够提供高度可靠和强大的网络代理功能。它具有广泛的支持和社区支持,能够满足大规模和复杂的应用需求。

另一方面,APISIX xRPC 则在轻量级和多语言支持等方面表现出更大的灵活性。它提供了简洁而高效的 API 网关解决方案,适用于各种规模的应用和多样化的技术栈。APISIX xRPC 的设计理念注重简洁、易用和高性能,使得开发者能够快速构建和扩展他们的 API 服务。

此外,API7 企业版为企业提供了更多的封装、扩展和定制化的能力,以满足企业级需求,并为您的业务带来更大的价值。

微信咨询

获取方案