请问什么叫做“组间广播”?

2021-08-11 22:20:16 +08:00
 Mogamigawa

来自于美团技术文档:

当然,对于互联网的大部分应用来说,组间广播、组内单播是最常见的情形。 消息需要通知到多个业务集群,而一个业务集群内有很多台机器,只要一台机器消费这个消息就可以了。 当然这不是绝对的,很多时候组内的广播也是有适用场景的,如本地缓存的更新等等。所以,一般比较通用的设计是支持组间广播,不同的组注册不同的订阅。组内的不同机器,如果注册一个相同的 ID,则单播;如果注册不同的 ID(如 IP 地址+端口),则广播。https://tech.meituan.com/2016/07/01/mq-design.html

这里的组间广播是什么意思?我 Google 了好久,搜索结果都是单播多播广播的区别,没有提到组间广播,根据感觉好像指的是订阅发布模型,但是我没法将订阅发布模型与组间广播结合起来。 请各位指教。谢谢各位了!

2434 次点击
所在节点    Java
7 条回复
raysonx
2021-08-11 22:46:31 +08:00
粗一看感觉是指 TCP/IP 的单播( unicast )和组播( multicast ),想一想又觉得是他们自己发明的概念,大概率是在应用层实现的。
sutra
2021-08-11 22:57:13 +08:00
ConsumerGroup
sutra
2021-08-11 22:58:53 +08:00
你去搜 Kafka consumer group (消费组),它这里说的组,就是这个消费组。
raysonx
2021-08-11 22:59:32 +08:00
非要类比的话,感觉他说的单播更像是 TCP/IP 的任播( anycast ),即只给同一个任播组机器中的任何一个发送消息。而他说的组间广播更像是 TCP/IP 的组播( multicast ),即订阅同一个 topic 的成员都可以收到消息,而其中每一个成员又是一个任播组。
jorneyr
2021-08-12 08:09:19 +08:00
不知道这个场景是否可以参考,如 RocketMQ 的 Topic 使用消费者组进行消费,消费有 2 种模式:
* Clustering: 同一条消息只有消费者组里的一个消费者可以消费
* Broadcasting: 同一条消息会被消费者组里的每一个消费者都消费一次
blackzhy
2021-08-12 09:33:52 +08:00
ConsumerGroup 是正解,这个概念是消息队列相关的吧,而且也不是这么翻译。
你搜到的单播多播广播是 TCP/IP 相关的概念
securityCoding
2021-08-13 17:39:51 +08:00

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

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

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

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

© 2021 V2EX