[草稿] 网关与接口文档聚合
Nebula 微服务模式下,最值得前端和联调人员优先接入的不是某一个业务服务,而是 nebula-gateway-service。因为它同时解决了两个问题:统一入口和统一文档。
网关做了什么
从当前配置可以直接看出,网关已经代理了这些标准路径:
/api/auth/**/api/dict/**/api/param/**/api/notify/**/api/comms/**/api/storage/**/api/scheduler/**
这意味着前端只需要认一个基础地址,而不需要记住多个服务端口。
文档为什么也要走网关
nebula-gateway-service 不只是转发业务接口,还聚合了各服务的 OpenAPI 文档。当前最常用的入口是:
http://localhost:17777/doc.htmlhttp://localhost:17777/swagger-ui.html
这对前端、测试、实施都很重要,因为大家不需要分别打开多个服务的文档地址。
这里的 17777 和各下游服务地址,都是当前仓库配置中的默认值。实际部署时可以通过网关配置覆盖,不应把这些端口当成所有环境中的固定常量。
最适合什么场景
前端联调
前端可以直接把请求统一指向网关,减少环境切换成本。
测试联调
测试可以从一个文档入口快速检查所有服务的接口契约。
后端新增服务接入
如果后续新增服务,也应同步补充网关路由和文档聚合配置,否则虽然服务能访问,但整体协作体验会变差。
一个简单的使用原则
只要你进入了“多个服务一起跑”的阶段,就尽量让人和系统都优先面向网关,而不是面向单个服务地址。这样前端环境、接口文档和运维暴露方式都会更统一。