服务器之间用redis发布/订阅来进行数据共享?

尼古拉斯
  • 70

现在遇到这样的一个问题,某一台服务器产生数据,要给其他的服务器使用,我现在的思路是使用redis的发布/订阅功能来共享数据,不知道这样的效果怎么样??有没有大神用过,求指点迷津,或者有其他的思路,也可以,感谢!!!

回复
阅读 1.7k
3 个回答

你已经发现解决这类问题的典型思路是采用消息队列(Message Queue)了,redis 的 pub/sub 是一个极简的模型,如果能满足要求的话自然没什么问题,你的想法是对的,也是可行的,除此之外你可以尝试其他消息队列中间件。

这个方式太多了,但是要看你的使用场景

  1. 只需要一个存,一个读,数据库就可以搞定了
  2. 产生数据之后需要通知数据消费者,可以使用 redix、rabbitmq 之类的消息队列,也可以直接使用 http 通知、rpc 之类的

要看具体场景啊,即是其它服务器到底要怎么“用”?不要动不动就加这个加那个,给系统增加无谓的复杂度。

举例来说: 数据共享,只从字面看,你只需要一个“中心化的数据存储”而已,如果你原来就用mysql,那就存到表里,其它机器就能读到啊。如果你原来用redis,那放进去别人就能读到,没必要用发布之类的。

我只是想表达,架构只有合适,没有好不好。 至于是否需要用到队列、发布/订阅、甚至是远程调用服务 还是看你具体的业务需要

宣传栏