功能区如何检索服务的可用实例列表



我正在使用功能区作为 API 网关和尤里卡服务器上的负载均衡器。当客户端请求到达我的 API 网关时,它是每次查询服务注册表以获取服务的可用实例,还是功能区将可用实例存储到其缓存中?

Spring Cloud Ribbon 与发现客户端通信,以获取有关运行给定服务的实例的信息。发现客户端保留 eureka 注册的内存缓存,以便更快地进行查找。

您可以查看Spring Cloud Netflix文档以获取更多信息:

https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-eureka-server.html

Eureka 服务器没有后端存储,但注册表中的服务实例都必须发送检测信号以使其注册保持最新(因此可以在内存中完成此操作(。客户端还具有 Eureka 注册的内存中缓存(因此它们不必为每次向服务发出请求而转到注册表(。

另外,对于带有尤里卡的丝带: https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-ribbon.html#_using_ribbon_with_eureka

当 Eureka 与功能区结合使用时(即,两者都在类路径上(,功能区服务器列表将被 DiscoveryEnabledNIWSServerList 的扩展覆盖,该扩展填充来自 Eureka 的服务器列表。

来自任何区域的客户端都可以查找注册表信息(每 30 秒发生一次(以查找其服务(可能位于任何区域中(并进行远程调用。有关更多信息,请访问 Netflix 尤里卡官方文档

我知道功能区为每个服务都有一个计划任务,该任务将从注册表中获取新的服务器列表。

你可以看看这个:ScheduledThreadPoolExecutor

任务运行的默认间隔为 30 秒,您可以使用配置进行更改:

your-service-name:
ribbon:
ServerListRefreshInterval: 200(the time you want to set in ms)

最新更新