对于微服务,常用的设计模式是API.我对其执行情况和所涉问题感到有点困惑。我的问题/关注事项如下:
据我所知,在理想的环境中,网关服务器将处理来自客户端的请求,并在Microservices完成了适当的任务后作出响应。
另外,我还在看。它似乎是我在网关服务器中寻找的东西,但它的路由功能使我感到困惑,如果它只是一个路由(重定向)服务,而微服务将直接负责对客户端的响应。
发布于 2019-02-04 12:25:57
网关模式用于为一组不同的微服务提供一个接口。如果您有多个微服务为您的API提供数据,则不希望将所有这些都公开给客户端。对他们来说,只有一个入口点要好得多,而不必考虑轮询哪个数据的服务。能够集中通用处理(如身份验证)也是很好的。与任何设计模式一样,它可以很好地应用于某些解决方案,而对其他解决方案则不能很好地工作。
如果吞吐量成为一个问题,网关是非常可伸缩的。您可以添加更多的网关并负载平衡它们。
代理模式和API网关模式之间有一些细微的区别。我推荐这篇文章作为一个非常简单的解释,https://blog.akana.com/api-proxy-or-gateway/
发布于 2019-02-04 14:44:29
在微服务领域,API是一种经过验证的模式。它有几个优点,例如:
在代理中实现所有这些特性并不容易。有几个API网关提供了所有这些功能,更像Netflix、Spring或Akana网关。
此外,为了避免API网关成为瓶颈,您可以:
发布于 2019-12-30 13:49:25
1.为什么一般不讨论微服务的其他模式?如果是的话,我是不是错过了呢?在数据库、服务等不同类别下有许多微服务模式,.This是一篇很好的文章https://microservices.io/patterns/index.html。
2.如果我们部署网关服务器,这不是瓶颈吗?
是的,在某种程度上。Q3的答案图像会回答这个问题。
3.网关服务器是否易受单点过度请求导致的崩溃/故障的影响?我相信现在的负载是巨大的(记住Netflix正在做这样的事情)。如果我理解错了,请纠正我。

4.流/下载/上传数据(如文件、视频、图像)也会与其他中间件服务一起通过网关服务器吗?为什么我们不能使用代理模式而不是网关呢?
API代理与API网关的用例取决于您需要什么样的功能,以及您在API生命周期中的位置。如果您已经有了一个不需要API网关所能提供的高级功能的现有API,那么推荐使用API代理。
您可以节省宝贵的工程带宽,因为代理更容易维护,您将不会遭受任何微不足道的性能损失。如果您需要代理没有提供的特定功能,您还可以开发内部层以适应您的用例。如果您在API生命周期的早期,或者需要API网关可以提供的额外功能,那么投资其中一个就会带来好处。
https://stackoverflow.com/questions/54515171
复制相似问题