View Source

h3. Venus 2.2.7 Released:

主要新增功能:客户端根据 服务的请求参数,通过一致性hash的方式将请求发送到hash环的一台机器上。

主要目的:有些数据是有缓存,并且这些内存数据会定期执行某种业务。那么跟在内存中的数据相关的操作必须发送到这台服务器上,避免相同数据出现的不同的物理机器上。

这个功能主要是由客户端来决定的,虽然有点不妥,但目前来説,对于内部服务是非常有效的解决方法。
\\

使用方法:
{code:title=一个接口关于一致性hash的用法} @Endpoint(name = "getHello",loadbalancingKey="name")
public abstract Hello getHello(@Param(name = "name") String name);{code}

复杂对象的loadbalancingKey表达式写法:

{code:title=复杂对象的loadbalancingKey表达式} @Endpoint(name = "testChild" ,loadbalancingKey="hello.name")
public abstract Hello testChild(@Param(name = "hello") Hello hello);{code}
{note}注意: 要让一致性hash路由算法起作用,remote中的地址必须配置多个ip{note}