服务器之间用redis发布/订阅来进行数据共享?
现在遇到这样的一个问题,某一台服务器产生数据,要给其他的服务器使用,我现在的思路是使用redis的发布/订阅功能来共享数据,不知道这样的效果怎么样??有没有大神用过,求指点迷津,或者有其他的思路,也可以,感谢!!!
11 回复
生产消费 方案很多 redis发布订阅不太合适 占连接资源时间太长 使用redis队列消费吧 A服务器生产数据丢到list里面 其他服务器来读进行消费 如果要区分多个服务器和区分业务种类 那就用多个队列把业务隔离开
redis这个就是理论上存在丢数据的问题. 新的redis 5不是有stram吗,不过研究的不多. 我现在是用rabbit mq,每个node服务订阅一个商量好的queue,其中有生产者,消费者. 生产者生成数据,消费者消费数据.
用于订阅的redis Client的连接会被一直占用,所以订阅的redis Client只能用于接收消息,不能做其他的事情,发布的Client没有限制。我们使用的是Node的ioredis的电放库来实现的https://www.npmjs.com/package/ioredis