我正在开发一个基于的应用程序microservice architecture
.在这里,每个service
都是可独立部署的play-scala application
曝光rest apis
.我想Api gateway
在这些服务之上实现映射传入请求.我遵循这里讨论的架构:构建微服务
很少有基于微服务架构的具有实质成熟度的项目.其中一个是Reactive Microservices.但是这个项目没有使用api gateway pattern
,似乎跟着反模式这个项目有一个问题,关于这里丢失的Api网关.这里的贡献者声称他们没有遵循,api gateway pattern
因为它有风险single-point of failure
.
这种不同的意见对我来说非常混乱.所以,我正在寻找关于我是否应该使用Api Gateway的建议.What is the right practice here ?
API网关不会像负载均衡器那样引入单点故障.任何严肃的API网关都应该能够以高可用性模式运行,从而消除单点故障.
API网关鼓励团队内的良好文档和规划.某些API网关允许您导入Swagger规范https://swagger.io/以创建API.
某些网关允许您创建虚拟端点以模拟上游目标的响应.这样,如果您的服务尚未可用,您仍然可以对其进行编码,并在准备好后切换到目标.
API网关应该能够对上游目标进行循环负载平衡,从而无需添加专用负载均衡器.您还可以将网关配置为定期命中健康检查端点,并在服务不可用时自动从LB中删除目标.
网关将为您处理身份验证.无论是通过JWT,Oauth,简单,开放等.您的开发人员可以专注于构建他们的微服务.你的微服务可以是微观的.网关将位于基础架构的边缘,并为您处理安全性.