我正在使用Eureka和Zuul开始使用Spring Cloud,并且在结构化蓝/绿部署和金丝雀部署方面有一些问题。到目前为止,我已经掌握了基础知识,并且已经按预期工作的Eureka、Zuul和配置服务器。我想要实现的是设置一个具有两个版本的服务,比如1.0和1.1。对于特定用户子集,我希望将它们路由到1.1版本,而其他人则应该转到1.0版本。
Zuul过滤器API在文档中详细介绍,并且我在努力理解某些概念,因此我想在此处提出一些问题。我还运行了一些基本过滤器,目前除了获取主体身份和请求的服务之外不做太多事情。我遇到难题的地方在于如何向Eureka和Zuul公开相同服务的两个不同版本。我有几个问题:
- 在文档、文章和其他堆栈溢出之间,“服务”和“集群”这个术语似乎可以互换使用。这是正确的吗?
- 在这种情况下,如果我有一个名为
/simpleservice
的服务,我是否需要公开两个不同的服务ID(即simpleservice
和simpleservice-1.1
)?如果我这样做,当目标用户之一请求/simpleservice
时,我让Zuul将他们发送到/simpleservice-1.1
- 或者,您是否向现有服务ID添加另一个节点,并为每个节点添加其他元数据,以便Zuul可以区分版本1.0和1.1?
- 正确答案是“以上所有”? :)