这篇文章给大家介绍Spring Cloud 中Stream分区分组的原理是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联公司服务项目包括山亭网站建设、山亭网站制作、山亭网页制作以及山亭网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,山亭网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到山亭省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
消息分组
通常在生产环境,我们的每个服务都不会以单节点的方式运行在生产环境,当同一个服务启动多个实例的时候,这些实例都会绑定到同一个消息通道的目标主题(Topic)上。默认情况下,当生产者发出一条消息到绑定通道上,这条消息会产生多个副本被每个消费者实例接收和处理,但是有些业务场景之下,我们希望生产者产生的消息只被其中一个实例消费,这个时候我们需要为这些消费者设置消费组来实现这样的功能。
当把消费者复制一份,发现2个都能收到消息
2个消费者都加入同一个消费者
发现只有一个能收到
消息分区
有一些场景需要满足, 同一个特征的数据被同一个实例消费, 比如同一个id的传感器监测数据必须被同一
个实例统计计算分析, 否则可能无法获取全部的数据。又比如部分异步任务,首次请求启动task,二次
请求取消task,此场景就必须保证两次请求至同一实例.
从上面的配置中,我们可以看到增加了这两个参数:
1. pring.cloud.stream.bindings.output.producer.partitionKeyExpression :通过该参数指定了分区键的表达式规则,我们可以根据实际的输出消息规则来配置SpEL来生成合适的分区键;
2. spring.cloud.stream.bindings.output.producer.partitionCount :该参数指定了消息分
区的数量。
关于Spring Cloud 中Stream分区分组的原理是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
网站标题:SpringCloud中Stream分区分组的原理是什么
网站网址:http://scgulin.cn/article/ijhcjc.html