我正在编写一个nodejs网络服务器,它将存在于世界各地的多个地区。
在节点上使用redis时,是否可以提供所有redis服务器的列表,客户端可以根据延迟连接到最接近的服务器?
答案 0 :(得分:0)
我们可以假设您使用的是Redis 3+吗?
如果是,CLUSTER NODES
是你的朋友。
对于一个可怕的bash示例,在安装了Puppet facter
的Redis服务器上,
INITMASTER1ID=$(redis-cli -h $(facter ipaddress) -c CLUSTER NODES | grep $(facter ipaddress) | grep -Eo '^[^ ]+')
NODEIDLIST=$(redis-cli -h $REDIS2 -c CLUSTER NODES | grep -Eo '^[^ ]+')
http://redis.io/commands/cluster-nodes
对于在Node.JS中编写的一些不太可怕的示例,请查看https://www.npmjs.com/package/redis-cluster的文档。