微服务之间内部消息发布订阅

2019-04-05 09:49:01 +08:00
 spy0578

微服务之间需要共享一些数据,准备采用发布订阅的方式,将外部接收到的消息共享给各个服务 打算直接采用 redis 消息中间件 外部的消息来自于不同设备 id 的,并且消息类型还有不同种类的 可以根据消息类型设定内部的消息 channel 但是这样的弊端就是订阅者会拿到所有设备 id 的消息 如何可以灵活的发布 /订阅不同设备 id 的不同种类的消息? 该如何设计内部的消息共享机制

3022 次点击
所在节点    问与答
7 条回复
l8g
2019-04-05 09:52:22 +08:00
Mq
spy0578
2019-04-05 09:56:36 +08:00
@l8g 用 redis 和 mq 类似
关键就是如何设计消息 channel,能够保证足够灵活性
可以灵活的发布订阅不同设备 id 的不同种类的消息
l8g
2019-04-05 10:22:00 +08:00
@spy0578 用 topic 和 tag 进行归类
honeycomb
2019-04-05 11:09:12 +08:00
@spy0578 kafka/rabbit 这些消息队列提供了现成的机制( topic,ecchange 之类),如果你是用 Redis 实现可以参考它们的做法,如果能推倒重来的话直接用现有的消息队列可能更简单
spy0578
2019-04-05 13:14:50 +08:00
@l8g 感谢回复
好的谢谢 我去看看 rocketmq
spy0578
2019-04-05 13:15:32 +08:00
@honeycomb 好的 谢谢 目前在选型中,看来是要引入 mq 了
txy3000
2019-04-05 16:12:18 +08:00
Kafka 和 zoo keeper 了解一下 topic partition 能满足你的要求

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/552269

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX