redis - 如何使用 Redis PubSub 使订阅者负载均衡?
问题描述
我在 pubsub 模式下使用 Redis 作为消息代理。只有 1 个发布者和 N 个订阅者在收听同一频道。对于原始的 pubsub 模式,这 N 个订阅者每次都会收到“相同”的消息。我的问题是,Redis 内部是否有任何机制或任何其他方式让这些订阅者为每个订阅者获取不同的消息?
解决方案
你有两个选择:
将消息添加到 Redis 列表中,多个消费者使用
BLPOP
和相关命令来消费这些消息。将消息添加到 Redis Stream,多个消费者使用
XREAD
和相关命令来消费这些消息。
推荐阅读
- javascript - 通过nodeJS TLS Socket发送请求的最佳方式是什么
- json - 我怎么能在子模块中使用相同的 tslint.json 呢?
- java - 处理程序和接口可运行 - 具有新线程
- visual-studio-2017 - 在 Visual Studio 2017 中更改窥视窗口的颜色不起作用
- powerquery - 如何将excel单元格作为查询参数的源文件?
- angular - Angular 6 - 反应式表单内的自定义控件
- c# - 使用 Entity Framework 配置 ASP.NET Core:“没有为此 DbContext 配置数据库提供程序”
- http - 离子 HTTP POST 回复 net::ERR_NAME_NOT_RESOLVED
- r - 将 sf voronoi 多边形裁剪到边界框时出错
- microsoft-graph-api - 无法更新 OneNote 页面内容