- Edited
能否请教下实现脚本? 可以给个联系方式吗?
在 2016年8月25日星期四 UTC+8上午9:58:10,牧童写道:
在 2016年8月25日星期四 UTC+8上午9:58:10,牧童写道:
Hi,春哥:先说下需求。我想根据用户请求url一致性哈希到后端缓存,后端使用多个redis实例, 后端redis实例的需要健康检查, 当某个redis挂掉或有新redis加入时, 一致性哈希算法自动感知。 我的做法:一致性哈希使用lua-resty-balancer;健康检查使用了lua-upstream-nginx-module + lua-resty-upstream- healthcheck; (lua-resty-upstream-healthcheck只支持http, 做了redis的检查扩展) 在healthcheck模块中,当发现peer_fail的时候,将对应server删除(调用lua- resty-balancer的delete接口); 当发现peer_ok的时候,重新加入server(调用lua-resty-balancer的set接口)。 问题:测试发现,挂掉的redis健康检查可以自动发现,但是一致性哈希还是会将请求哈希到挂掉的redis上( 调用lua-resty-balancer的find接口)。 另外,存储redis的server和lua-resty-balancer实例,是用来官方示例的方法package. loaded.*,根据healthcheck的结果动态更新。 请问,这是问题是我用法不对,还是lua-resty-balancer模块有问题?