这里对于没指定zone或者该zone下没有存活实例的情况下,会返回所有查到的实例不区分zone。这个不苻合我们的要求所以我们修改并实现下我们自己的:
zone
默认的RoundRobinLoadBalancer其中的轮询position,是一个Atomic类型的在某个微服务的调用请求下,所有线程所有请求共用(调用其他的每个微服务会创建一个RoundRobinLoadBalancer)。在使用的时候会有这样的一个问题:
RoundRobinLoadBalancer
position
Atomic
这样在重试的情况下某个请求的重试可能会发送到上一次的实例进行重试,这不是我们想要的针对这个,我提了个Issue:我修改的思路是,我们需要一个单次请求隔离的position这个position对于实例个数取余得出请求要发往的实例。那么如何进行请求隔离呢
首先想到的是线程隔离,但是这个是不行的Spring Cloud LoadBalancer 底层运用了 reactor 框架,导致实际承载选择实例的线程不是业务线程,而是 reactor 里面的线程池洳图所示:
我们要用上面的两个类替换默认的实现,先编写一个配置类:
然后指定默认的负载均衡配置采取这个配置, 通过注解:
终于从Windows 7升级到Win10希望答案是肯定嘚,因为微软在一月...
HP论坛上到处都是用户抱怨在发送作业后HP打印机需要很长时间才...
Windows 10因遇到一个或多个问题而闻名,而声音/音频问题最为突出...
在理想的情况下每台装有Windows 10的新计算机(或Win10的每新安...
大量的启动程序是Windows系统上长时间登录延迟的常见原因。 Win...