我们应该在微服务之间使用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)吗?的主要内容,如果未能解决你的问题,请参考以下文章

白话SpringCloud | 第九章:路由网关(Zuul)的使用

Zuul网关

SpringCloud:服务网关zuul-API网关

spring cloud深入学习-----服务网关zuul

API服务网关(Zuul)

Spring Cloud Zuul 快速入门