我正在开发一个基于microservice architecture的应用程序。在这里,每个service都是一个独立部署的play-scala application,公开rest apis。我想在这些服务之上实现一个Api gateway来映射传入请求,我遵循这里讨论的体系结构:建筑微型服务。
很少有基于微服务体系结构的成熟项目。其中一个是反应性微服务。但是这个项目没有使用api gateway pattern,并且似乎遵循反模式,这里为这个项目打开了一个关于缺少的Api网关的问题。这里的贡献者声称他们没有遵循api gateway pattern,因为它有single-point of failure的风险。
这种不同的意见使我很困惑。因此,我正在寻找关于我是否应该使用Api网关的建议。这里的正确做法是什么?
发布于 2017-09-30 11:56:53
API网关不会像负载均衡器那样引入单一的故障点。任何严重的API网关都应该能够在高可用性模式下运行,从而消除单个故障点。
API网关鼓励团队内部进行良好的文档和规划。一些API网关允许您导入Swagger规范https://swagger.io/以创建API。
有些网关允许您创建虚拟端点来模拟上游目标的响应。这样,如果您的服务还没有完全可用,您仍然可以对其进行编码,并在准备就绪时切换到目标。
API网关应该能够循环负载平衡您的上游目标,否定了增加专用负载均衡器的必要性。您还可以将网关配置为定期到达健康检查端点,并在服务不可用时自动从LB中删除目标。
关口会为你解决问题的。无论是通过JWT、Oauth、Simple、Open等等,您的开发人员都可以集中精力构建他们的微服务。你的微型服务可以是微型的。网关将位于基础设施的边缘,并为您处理安全问题。
发布于 2022-09-15 00:40:44
在2022年,微服务已经成为一种普遍的选择,开源微服务API网关和云本地API网关已经成为大多数工程师的选择。认证和可观察性已成为API网关的基本特性。您可以参考Apache APISIX的文档
https://stackoverflow.com/questions/34442192
复制相似问题