我们正在建立一个新的微服务架构,前端有Zuul,后端有一堆启用tomcat的微服务。启动时,每个服务都会向Eureka注册,任何想要调用这些服务的客户都将通过Zuul进行注册。我们已将这一切全部接通并且一切正常。
但是,我对如何使这种架构更具动态性有几个问题。
例如,让我们说今天我们在后端有2个微服务,因此,Zuul的eureka /功能区客户端配置将包含以下内容:
ribbon.client.niws.clientlist =服务1 |服务2 zuul.ribbon.namespace = zuul.client
service1.zuul.client.DeploymentContextBasedVipAddresses = myService1 service1.zuul.client.NIWSServerListClassName = com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
service2.zuul.client.DeploymentContextBasedVipAddresses = myService2 service2.zuul.client.NIWSServerListClassName = com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
现在明天,我们假设我们需要添加service3。我们观察到的是,如果我们将这些细节添加到相同的配置(见下文),它们只有在重新启动后才可用于Zuul。是否有一些我们缺少的配置参数可以让我们动态地引入新的服务细节,还是我们必须推出自己的Eureka / Ribbon客户端才能做到这一点?
ribbon.client.niws.clientlist =服务1 |服务2 |服务3 zuul.ribbon.namespace = zuul.client
service1.zuul.client.DeploymentContextBasedVipAddresses = myService1 service1.zuul.client.NIWSServerListClassName = com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
service2.zuul.client.DeploymentContextBasedVipAddresses = myService2 service2.zuul.client.NIWSServerListClassName = com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
service3.zuul.client.DeploymentContextBasedVipAddresses = myService3 service3.zuul.client.NIWSServerListClassName = com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
谢谢!
答案 0 :(得分:0)
问题在于namespaces.If我们使用默认命名空间,它应该能够获取默认添加的新属性。