我redis replication和sentinel建筑师有这个:
5个服务器:.1、.2、.3和.4.5
.1:nodejs应用程序、redis主控、redis哨兵.2:nodejs应用程序,redis从属.3:nodejs应用程序,redis从属.4:redis哨兵.5:redis哨兵Sentinel 按预期处理故障转移。
redis-cli -h x.y.z.5 -p 26379 sentinel get-master-addr-by-name mymaster总是返回.1服务器。
我连接到此复制的代码(我使用ioredis):
let sentinels = [
{ host: process.env.REDIS_SENTINEL_1, port: process.env.REDIS_PORT },
{ host: process.env.REDIS_SENTINEL_2, port: process.env.REDIS_PORT },
{ host: process.env.REDIS_SENTINEL_3, port: process.env.REDIS_PORT }
]
store = new Redis({
name: 'mymaster',
sentinels: sentinels
})
store.on('ready', () => {
store.set('foo', new Date()) …Run Code Online (Sandbox Code Playgroud)