当前位置: 首页 > 知识库问答 >
问题:

Zuul自动发现问题

伊光赫
2023-03-14

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

然而,我有几个问题,关于我们如何使这个架构更加动态。

  1. 我们假设Ribbon/Eureka是现成的,但尚未找到解决方案,因为我们向后端添加了更多服务,Zuul的Ribbon客户端会以某种方式(通过Archiaus并更新到Zuul的Eureka-client.properties文件)使用新的服务详细信息(例如vipaddress、负载平衡算法等)进行自我更新。到目前为止,唯一有效的方法是更新属性文件并重新启动Zuul(ughh)

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

带子客户niws。客户端列表=服务1 |服务2 zuul。带子命名空间=zuul。客户

服务1.zuul。客户DeploymentContextBasedVipAddresses=myService1服务1。祖尔。客户NIWSServerListClassName=com。netflix。niws。负载平衡器。DiscoveryEnabledNIWSServerList

服务2.zuul。客户DeploymentContextBasedVipAddresses=myService2服务2。祖尔。客户NIWSServerListClassName=com。netflix。niws。负载平衡器。DiscoveryEnabledNIWSServerList

现在,明天,我们假设需要添加服务3。我们所观察到的是,如果我们将这些细节添加到相同的配置中(见下文),那么它们只有在重新启动后才对Zuul可用。我们是否缺少一些其他配置参数,允许我们动态引入新的服务详细信息,或者我们是否必须推出自己的Eureka/Ribbon客户端才能做到这一点?

带子客户niws。客户端列表=服务1 |服务2 |服务3 zuul。带子命名空间=zuul。客户

服务1.zuul。客户DeploymentContextBasedVipAddresses=myService1服务1。祖尔。客户NIWSServerListClassName=com。netflix。niws。负载平衡器。DiscoveryEnabledNIWSServerList

服务2.zuul。客户DeploymentContextBasedVipAddresses=myService2服务2。祖尔。客户NIWSServerListClassName=com。netflix。niws。负载平衡器。DiscoveryEnabledNIWSServerList

服务3.zuul。客户DeploymentContextBasedVipAddresses=myService3服务3。祖尔。客户NIWSServerListClassName=com。netflix。niws。负载平衡器。DiscoveryEnabledNIWSServerList

谢谢

共有1个答案

白禄
2023-03-14

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

 类似资料:
  • 1.1.1. 目录 1.1.2. 设备自动发现 1.1.1. 目录 设备自动发现 交互 消息示例 说明 1.1.2. 设备自动发现 SSDP 是一个简单的基于 UDP 的网络发现协议, 广泛用于 UPNP, IoT 行业 交互 HomeBase 上线后, 会自动广播发送 SSDP SEARCH 并设置 ST 头为 homebase device 设备收到 SSDP Search 广播, 马上向 S

  • 我想使用apache thrift开发一些本地网络服务。应该有多个服务等待一个主机连接到它们,并独占使用它们,直到主机释放它们。这些服务是用多种语言编写的。 之所以选择使用thrift,是因为我需要一些简单的远程过程调用机制,用于快速且支持多种语言的服务之间的通信。虽然thrift适合RPC,但我需要一些机制来通过一些自动发现机制定位服务TCP地址和端口,然后才能在不硬连接地址的情况下将thrif

  • redis大师可以通过sentinel发现,使用: 现在要将数据写入主节点:

  • 我正面临使用Zuul和Ribbon的问题。我也在微服务注册中心使用尤里卡。 null 当我启动我的微服务生态系统并尝试使用ribbon-service API(zuulservice:8761/ribbon-service/)时,我得到以下错误: com.netflix.zuul.exception.zuulException:org.springframework.cloud.netflix.z

  • 我正在尝试建立一个基于Spring功能的简单微服务架构。我有3个简单的微服务作为起点:1配置服务器(Spring cloud config)2发现服务器(eureka Server)3网关Zuul 我配置了这些服务,以便发现服务器存储所有的.properties文件,它将自己注册到发现服务器,以便所有其他服务检索.properties文件,而不是通过静态url而是通过eureka服务器访问发现。

  • 我有一个maven项目,一个独立的JPA工具。 这个主项目依赖于另一个包含所有实体类的maven项目。 但是,JPA似乎不会自动找到我的实体。我的日食项目 我的坚持.xml: 它位于目标/类/META-INF中。 使用实体时的错误是: