基于Go语言实现对Redis Stream消息队列客户端的封装
1、概述早期,基于Redis实现轻量化的消息队列有3种实现方式,分别是基于List的LPUSH+BRPOP (BRPOPLPUSH)的实现、PUB/SUB发布订阅模式以及基于Sorted-Set实现方式。这三种模式分别有其相应的缺点基于List的实现做消费者确认ACK比较麻烦,不能保证消费者消费消息后是否成功处理的问题,通常需要维护一个额外的列表,且不支持重复消费和分组消费。基于PUB/SUB的实现若客户端不在线时发布消息会丢失,且消费者客户端出现消息积压,到一定程度,会被强制断开,导致消息意外丢失,可
原创
2021-06-03 10:10:24 ·
4012 阅读 ·
8 评论