Venus 2.2.7 Released:
主要新增功能:客户端根据 服务的请求参数,通过一致性hash的方式将请求发送到hash环的一台机器上。
主要目的:有些数据是有缓存,并且这些内存数据会定期执行某种业务。那么跟在内存中的数据相关的操作必须发送到这台服务器上,避免相同数据出现的不同的物理机器上。
这个功能主要是由客户端来决定的,虽然有点不妥,但目前来説,对于内部服务是非常有效的解决方法。
使用方法:
一个接口关于一致性hash的用法
@Endpoint(name = "getHello",loadbalancingKey="name") public abstract Hello getHello(@Param(name = "name") String name);
复杂对象的loadbalancingKey表达式写法:
复杂对象的loadbalancingKey表达式
@Endpoint(name = "testChild" ,loadbalancingKey="hello.name") public abstract Hello testChild(@Param(name = "hello") Hello hello);
![]() | 注意: 要让一致性hash路由算法起作用,remote中的地址必须配置多个ip |
添加评论