redis发布订阅(顺序保证,是否丢失,可靠性保证)研究

时间:2025-05-10 22:28:20

公司多个系统之间经常需要相互同步数据,数据同步方式有很多种,常用的有如下几种:
1 接收方主动请求,数据提供方暴露调用接口
2 提供方主动推送,接收方被动接收

其中主动推送,有有几种方式:直接调用接收方接口,通过消息中间件等。

我们之前使用的rabbitMQ,但是其存在一些天生的缺陷,比如消息顺序的保证,消息的可靠性,事务消息等等。

最近在看redis时,突然看到redis支持发布/订阅这种功能,感觉和mq的提供方推送消息,接收方监听后消费消息类似,那么可否使用redis的这一功能来充当系统间数据同步的中间件呢?
要从是否满足这几个问题去思考:

1 redis的java客户端比如jedis是否支持? 支持
2 订阅方是否是按顺序接收发送方推送的消息?
3 订阅方是否会丢失发送方推送的消息?redis服务器宕机或者异常崩溃恢复后,是否会丢失?
4 幂等性如何保证?
5 吞吐量怎么样?