调研 7 个开源项目后,这家数据合规平台如何构建高性能网关
内容提要
九智汇是一家数据合规公司,选择了基于云原生技术的Higress作为网关产品,用于认证鉴权和转换HTTP请求。他们自定义修改了Higress-console,实现Dubbo服务的自动化。已迁移部分流量到Higress,并计划将所有流量迁移,降低维护成本。希望Higress持续迭代,吸引更多社区参与开源版本的建设。
延伸解读
选型逻辑:云原生匹配与开源协议是关键
九智汇在调研多个网关产品后选择 Higress,核心原因在于其基于 Envoy 和 Istio 的云原生架构,与公司现有的 Kubernetes 技术栈完全匹配,团队可借助云原生社区独立运维。同时,Higress 采用 Apache-2.0 协议,对商用友好,即使没有社区支持也能自行修改,这为后续定制化开发提供了法律和技术保障。
Wasm 插件与 HTTP 转 Dubbo 提升研发效率
Higress 的 Wasm 插件机制支持跨语言开发,插件可动态加载卸载而无需重启网关,九智汇据此开发了自定义认证鉴权插件,实现动态校验和租户 Header 设置。HTTP 转 Dubbo 能力则让内部 RPC API 直接对外暴露为 Open API,避免维护两套接口,显著降低开发和维护成本。
控制台定制与流量迁移的实践价值
九智汇基于开源 higress-console 进行自定义修改,通过其 Dubbo Service 实现域名、证书和路由的自动化配置,减少人工介入。目前部分 Nginx Ingress 流量已迁移至 Higress,运行稳定且性能更优,配置变更无需再避开白天,未来计划全量迁移以统一网关、降低多套维护成本。
社区参与和功能迭代的期待
九智汇希望 Higress 社区持续迭代 HTTP 转 Dubbo 功能,并增强开源版 higress-console 的易用性和功能丰富性。他们认可商业团队对开源社区的投入及开源版与商业版的同步机制,并计划在合适时贡献自己的力量,这反映了用户对社区共建的积极态度。
Q&A
九智汇为什么选择 Higress 作为网关产品?
九智汇选择 Higress 主要基于五点:1)Higress 基于云原生技术(Envoy、Istio),与公司 Kubernetes 架构完全匹配;2)开源且采用 Apache-2.0 协议,对商用友好,可自定义修改;3)支持 Wasm 插件机制,跨语言开发,插件动态加载,灵活性和扩展性强;4)具备 HTTP 转 Dubbo 能力,能统一内部 RPC API 和外部 Open API,提升研发效率;5)兼容 Nginx Ingress 大部分 Annotation,迁移成本低。
Higress 的 Wasm 插件机制在九智汇的业务中是如何应用的?
九智汇使用 Go 语言开发了自定义的认证鉴权 Wasm 插件,用于对 Open API 调用进行认证鉴权。该插件可以动态调用其他服务或存储进行凭证校验,并在校验通过后根据密钥归属的企业租户在 header 中设置租户信息,确保只能访问该租户的数据。插件通过 Higress 的 WasmPlugin 资源配置,基于域名开启并对所有请求进行认证鉴权。
九智汇如何利用 Higress 的 HTTP 转 Dubbo 能力统一内外 API?
九智汇内部使用 Dubbo 作为微服务框架,通过 Higress 的 HTTP 转 Dubbo 能力,将内部标准 Dubbo Service 以 Open API 形式对外暴露。具体步骤包括:创建服务来源(配置 McpBridge 连接 Nacos 注册中心)、配置 Http2RPC 映射 HTTP 请求到 Dubbo 方法、配置路由规则。结合认证鉴权插件,实现内部 RPC API 和外部 Open API 的统一,只需开发一套标准 RPC API 即可同时服务内外系统,降低开发和维护成本。
九智汇对 Higress-console 做了哪些自定义修改?
九智汇基于开源 Higress-console 进行自定义修改,主要实现了通过修改 console 代码对外提供 Dubbo Service,供业务系统调用实现流程自动化。例如,当企业租户设置二级甚至一级自定义域名时,业务系统可以调用 console 的 Dubbo Service 自动创建域名、证书和路由,实现全流程无需人工介入。未来计划继续开发 Open API 相关的管理和管控能力。
九智汇迁移 Nginx Ingress 到 Higress 的进展和效果如何?
九智汇已经通过阿里云 SLB 的流量权重设置迁移了部分 Nginx Ingress 流量到 Higress,目前运行稳定性很好,且测试结果显示 Higress 性能优于 Nginx Ingress。由于 Higress 配置变更无需重启进程,避免了 Nginx 连接瞬时断开和并发重连的问题,现在白天也可以进行配置变更。后续计划将所有 Nginx Ingress 流量迁移到 Higress,并在私有化部署中统一使用 Higress,降低维护多套网关的复杂度和成本。
九智汇对 Higress 社区有什么期望和建议?
九智汇希望 Higress 社区持续迭代,继续做强 HTTP 转 Dubbo 功能,解放研发生产力。他们支持 Higress 商业团队加大对开源社区的投入,并建立开源版和社区版的 feature/bugfix 同步机制。同时希望更多社区同学参与开源版本 higress-console 的建设,提升易用性和功能丰富性,九智汇也会在合适的时候贡献自己的力量。