【问题标题】:Zuul Autodiscovery issuesZuul 自动发现问题
【发布时间】:2016-03-13 20:22:02
【问题描述】:

我们正在建立一个新的微服务架构,前端是 Zuul,后端是一堆支持 tomcat 的微服务。每个服务在启动时都会向 Eureka 注册,任何想要调用这些服务的客户端都将通过 Zuul 进行。我们已经把这一切都连接好,一切正常。

但是,我有几个问题是关于如何使这个架构更加动态化。

  1. 我们认为 Ribbon/Eureka 开箱即用,但尚未找到解决方案的一件事是,当我们向后端添加更多服务时,不知何故(通过 Archiaus 并更新到 Zuul 的 eureka-client .properties 文件)Zuul 的 Ribbon 客户端将使用新的服务详细信息(例如 vipaddress、负载平衡算法等)进行自我更新。到目前为止,唯一可行的方法是更新属性文件并重新启动 Zuul (ughhh)。

例如,假设今天我们在后端有 2 个微服务,因此,Zuul 的 eureka/ribbon 客户端配置将包括以下内容:

ribbon.client.niws.clientlist=service1|service2 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=service1|service2|service3 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

  1. 我的另一个问题是相关的,我们真的需要为 Zuul 可能路由到的每个服务添加客户端配置(在 eureka-client.properties 中)吗?在某些时候,我们可能有 100 多个服务在运行,并且试图在 Zuul 中维护所有相关的客户端配置似乎有点笨拙。有没有办法全局配置 Zuul 以将所有服务从 Eureka(或基于 Eureka 中的某些服务元数据)加载到其客户端列表中,并在新服务向 Eureka 注册时动态更新此列表?

谢谢!

【问题讨论】:

    标签: microservices netflix-eureka netflix-zuul


    【解决方案1】:

    问题在于命名空间。如果我们使用默认命名空间,它应该能够获取默认添加的新属性。

    【讨论】:

    • 您能说得详细一点吗?您是如何将新服务添加到 Zuul 客户端的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2021-04-25
    • 2016-02-20
    • 2012-04-12
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多