SpringCloud stream 訊息分割槽

2021-09-27 02:02:48 字數 1898 閱讀 3878

1.stream的分割槽是當訊息的提供者傳送了相同的訊息的時候,如果被集群的中的某個節點消費了那麼如果提供者在此傳送相同的訊息的時候 ,一致會被同乙個的消費者消費掉

分割槽的配置

提供者端需要配置的資訊

#新增rabbitmq資訊

spring.rabbitmq.host=192.168.177.140

spring.rabbitmq.port=5672

spring.rabbitmq.username=oldlu

spring.rabbitmq.password=123456

spring.rabbitmq.virtual-host=/

#設定mq內的交換請名稱 outputproduct自定義在傳送介面獲取的值為outputproduct

spring.cloud.stream.bindings.outputproduct.destination=outputproduct

#設定訊息型別

spring.cloud.stream.bindings.outputproduct.content-type=text/plain

#-------------------分割槽配置-------------------

#outputproduct佇列的名稱需要和上面的相同後面的是固定寫法

spring.cloud.stream.bindings.outputproduct.producer.partition-key-expression=payload

#指定分割槽的數量:此數量要和消費者集群內節點數一致,有多少個節點就有多少個

#新增rabbitmq資訊

spring.rabbitmq.host=192.168.177.140

spring.rabbitmq.port=5672

spring.rabbitmq.username=oldlu

spring.rabbitmq.password=123456

spring.rabbitmq.virtual-host=/

#設定mq內的交換請名稱 inputproduct自定義在傳送介面獲取的值為outputproduct

spring.cloud.stream.bindings.inputproduct.destination=outputproduct

#設定持久化 注意這個的名字要和的上面的佇列的鍵名一致

spring.cloud.stream.bindings.inputproduct.group=groupproduct

#--------------消費者分割槽設定----------------

#開啟消費者分割槽功能

spring.cloud.stream.bindings.inputproduct.consumer.partitioned=true

#指定了當前消費者的總例項數量要和的集群內的節點數相同

spring.cloud.stream.instancecount=2

#設定當前例項的索引號,從 0 開始

spring.cloud.stream.instanceindex=0

SpringCloud Stream訊息驅動概述

簡介 如果系統裡同時存在多種mq,可以使用使用cloud stream,只需要和stream互動就可以進行管理。一句話,遮蔽底層訊息中介軟體的差異,降低切換成本,統一訊息的程式設計模型 官網 中文手冊 官方定義springcloud stream是乙個構建訊息驅動微服務的框架 應用程式通過input...

SpringCloud Stream訊息驅動

遮蔽底層訊息中介軟體的差異,降低切換成本,統一訊息的程式設計模型。在沒有binder這個概念的情況下,springboot應用要直接與訊息中介軟體進行資訊互動的時候,由於各訊息中介軟體構建的初衷不同,他們的實現細節上有較大差異,通過定義binder作為中間層,完美實現了應用程式與訊息中介軟體細節之間...

springcloud stream訊息驅動

什麼是spring cloud stream?官方定義 spring cloud stream 是乙個構建 訊息驅動 微服務的框架。應用程式通過inputs或者outputs來與 spring cloud stream 中binder互動,通過我們配置來 binding 而 spring cloud...