我们应该在微服务之间使用api网关(例如zuul)吗?
Posted
技术标签:
【中文标题】我们应该在微服务之间使用api网关(例如zuul)吗?【英文标题】:Should we use api gateway(such as zuul) between microservices? 【发布时间】:2018-11-11 03:01:40 【问题描述】:毫无疑问,API 网关应该是通往外部世界的边缘服务器。我们想知道我们应该在微服务之间的通信中使用 API 网关吗?
【问题讨论】:
【参考方案1】:您绝对可以使用 API 网关(netflix -zuul)来进行服务间调用,您唯一需要关心的是,
当您开始对服务进行版本控制时会发生什么,假设您将使用 eureka 作为命名服务器,zuul 网关将从该服务器获取所有已注册的服务,但现在在您的情况下,zuul 将获取您的服务的两个实例(以前的版本和verison next),ribbon会在两者之间对请求进行负载均衡,这一点已经在
How to route in between microservices using Spring Cloud & Netflix OSS
基本上,如果您熟悉 BlueGreen 部署模型,那么实现这将是一个问题,当然有适当的解决方法,例如定义/注册一些元数据以及您以前和最新的版本,稍后将由功能区客户端选择相应的路线
【讨论】:
以上是关于我们应该在微服务之间使用api网关(例如zuul)吗?的主要内容,如果未能解决你的问题,请参考以下文章