我开始使用 Eureka 和 Zuul 使用 Spring Cloud,并且对构建蓝/绿和 Canary 部署有一些疑问。到目前为止,我已经完成了基础工作,并让 Eureka、Zuul 和配置服务器按预期工作。我想要完成的是设置一个有两个版本的服务,比如 1.0 和 1.1。对于特定用户的子集,我想将他们路由到 1.1 版本,而其他所有人都应该转到 1.0 版本。
Zuul 过滤器 API 对文档的了解有点少,我正在努力理解一些概念,所以我想在这里问几个问题。我还运行了一些基本过滤器,除了获取委托人的身份和他们请求的服务之外,它们并没有做很多事情。我碰壁的地方是了解如何向 Eureka 和 Zuul 公开同一服务的两个不同版本。我很好奇的几件事:
- 在文档、帖子和其他堆栈溢出之间,术语“服务”和“集群”似乎可以互换使用。这个对吗?
- 话虽如此,如果我有一个名为的服务
/simpleservice
,我是否会公开两个不同的 serviceID(即simpleservice
和simpleservice-1.1
)?如果我这样做,当目标用户之一请求/simpleservice
时,我会让 Zuul 将它们发送到/simpleservice-1.1
- 或者,您是否将另一个节点添加到现有服务 ID 并为每个节点添加额外的元数据,以便 Zuul 区分 1.0 和 1.1 版本?
- 正确答案是“以上所有”吗?:)