背景介绍
联易融蜂搭是一个低代码平台,基于联易融的业务中台、技术中台和数据中台能力,通过无代码或少量编码即可实现应用的快速开发及交付。开发人员可以通过“拖拉拽”的方式完成前端页面的开发,并配置中后端服务接口,从而完成整个应用的开发。网关作为前后端的连接器,不仅负责鉴权、路由、负载均衡、限流、熔断等安全和流量管理,还能够管理、配置、调试和编排API。
蜂搭网关平台架构
蜂搭网关平台的核心是以APISIX为基础,实现可配置化的安全和流量管理;同时以API元数据为核心,实现API的管理和编排。
简单的选型对比
在对比了多个网关产品后,选择了APISIX作为最终方案。原因如下:
- OpenResty:虽然性能高且自定义能力强,但观测性和维护成本较高。
- Spring Cloud Gateway/Zuul:深度耦合Spring Cloud技术栈,对Java开发友好,但在性能方面不满足需求。
- Kong:功能强大且插件丰富,但采用关系型数据库存储元数据会影响性能。
APISIX的特点包括:
- 动态、实时、高性能网关。
- 基于OpenResty实现。
- 支持动态路由、动态证书和跨域。
- 支持插件的热加载和卸载。
- 支持多协议和多语言。
- 易与其他工具集成(如Skywalking、Nacos)。
- 配置灵活,节点无状态。
- 云原生特性。
应用场景分享
鉴权场景
- 配置灵活的鉴权策略。
- 处理鉴权流程、路由、限流、跨域访问等流量管理任务。
平台工具集成
- 集成Skywalking进行监控。
- 使用Prometheus进行性能观测。
API编排