Spring Cloud 中Stream分区分组的原理是什么 您所在的位置:网站首页 stream的分组 Spring Cloud 中Stream分区分组的原理是什么

Spring Cloud 中Stream分区分组的原理是什么

#Spring Cloud 中Stream分区分组的原理是什么| 来源: 网络整理| 查看: 265

Spring Cloud 中Stream分区分组的原理是什么 发布时间:2021-06-16 14:29:34 来源:亿速云 阅读:130 作者:Leah 栏目:编程语言

这篇文章给大家介绍Spring Cloud 中Stream分区分组的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

消息分组

通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启动多个实例的时候,这些实例都会绑定到同一个消息通道的目标主题(Topic)上。默认情况下,当生产者发出一条消息到绑定通道上,这条消息会产生多个副本被每个消费者实例接收和处理,但是有些业务场景之下,我们希望生产者产生的消息只被其中一个实例消费,这个时候我们需要为这些消费者设置消费组来实现这样的功能。

Spring Cloud 中Stream分区分组的原理是什么

当把消费者复制一份,发现2个都能收到消息

Spring Cloud 中Stream分区分组的原理是什么

2个消费者都加入同一个消费者

Spring Cloud 中Stream分区分组的原理是什么

发现只有一个能收到

Spring Cloud 中Stream分区分组的原理是什么

消息分区

有一些场景需要满足, 同一个特征的数据被同一个实例消费, 比如同一个id的传感器监测数据必须被同一个实例统计计算分析, 否则可能无法获取全部的数据。又比如部分异步任务,首次请求启动task,二次请求取消task,此场景就必须保证两次请求至同一实例.

Spring Cloud 中Stream分区分组的原理是什么

Spring Cloud 中Stream分区分组的原理是什么

Spring Cloud 中Stream分区分组的原理是什么

Spring Cloud 中Stream分区分组的原理是什么

从上面的配置中,我们可以看到增加了这两个参数:

1. pring.cloud.stream.bindings.output.producer.partitionKeyExpression :通过该参数指定了分区键的表达式规则,我们可以根据实际的输出消息规则来配置SpEL来生成合适的分区键;

2. spring.cloud.stream.bindings.output.producer.partitionCount :该参数指定了消息分区的数量。

关于Spring Cloud 中Stream分区分组的原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐内容:Spring Cloud是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

springcloud stream 上一篇新闻:MyBatis中#与$取值有什么区别 下一篇新闻:如何理解C#单元测试的使用安全性 猜你喜欢 Anaconda是什么?Anconda下载安装教程 python中函数与全局变量的常见问题和解决方法 PyQt5实现点击按钮触发LCD屏显示功能 python中的元类是什么?怎么用? Python中的集合 Pycharm的常用快捷键有哪些 django使用celery异步发送短信 python进程使用Queue和Pipe通信 Python字典的介绍和使用 Python技术前景怎么样?学Python好吗?


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有