五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

實戰(zhàn)1|分布式消息中間件Kafka業(yè)務遷移

分布式消息服務Kafka遷移指將生產(chǎn)與消費消息的客戶端切換成連接新Kafka,部分還涉及將持久化的消息文件遷移到新的Kafka。主要涉及到以下2類場景:

業(yè)務上云且不希望業(yè)務有中斷。

在上云過程中,連續(xù)性要求高的業(yè)務,需要平滑遷移,不能有長時間的中斷。

遷移準備

1、配置網(wǎng)絡環(huán)境

Kafka實例分內(nèi)網(wǎng)地址以及公網(wǎng)地址兩種網(wǎng)絡連接方式。如果使用公網(wǎng)地址,則消息生成與消費客戶端需要有公網(wǎng)訪問權限,并配置如下安全組。

2、創(chuàng)建Kafka實例

Kafka的規(guī)格不能低于原業(yè)務使用的Kafka規(guī)格。具體請參考創(chuàng)建Kafka實例。

3、創(chuàng)建Topic

在新的Kafka實例上創(chuàng)建與原Kafka實例相同配置的Topic,包括Topic名稱、副本數(shù)、分區(qū)數(shù)、消息老化時間,以及是否同步復制和落盤等。具體請參考創(chuàng)建Topic

實施步驟(方案一:先遷生產(chǎn),再遷消費)

指先將生產(chǎn)消息的業(yè)務遷移到新的Kafka,原Kafka不會有新的消息生產(chǎn)。待原有Kafka實例的消息全部消費完成后,再將消費消息業(yè)務遷移到新的Kafka,開始消費新Kafka實例的消息。

1、將生產(chǎn)客戶端的Kafka連接地址修改為新Kafka實例的連接地址。

2、重啟生產(chǎn)業(yè)務,使得生產(chǎn)者將新的消息發(fā)送到新Kafka實例中。

3、觀察各消費組在原Kafka的消費進度,直到原Kafka中數(shù)據(jù)都已經(jīng)被消費完畢。

4、將消費客戶端的Kafka連接地址修改為新Kafka實例的連接地址。

5、重啟消費業(yè)務,使得消費者從新Kafka實例中消費消息。

6、觀察消費者是否能正常從新Kafka實例中獲取數(shù)據(jù)。

7、遷移結束。

本方案為業(yè)界通用的遷移方案,操作步驟簡單,遷移過程由業(yè)務側自主控制,整個過程中消息不會存在亂序問題,適用于對消息順序有要求的場景。但是該方案中需要等待消費者業(yè)務直至消費完畢,存在一個時間差的問題,部分數(shù)據(jù)可能存在較大的端到端時延。

實施步驟(方案二:同時消費,后遷生產(chǎn))

指消費者業(yè)務啟用多個消費客戶端,分別向原Kafka和新Kafka實例消費消息,然后將生產(chǎn)業(yè)務切到新Kafka實例,這樣能確保所有消息都被及時消費。

1、啟動新的消費客戶端,配置Kafka連接地址為新Kafka實例的連接地址,消費新Kafka實例中的數(shù)據(jù)。

說明:原有消費客戶端需繼續(xù)運行,消費業(yè)務同時消費原Kafka與新Kafka實例的消息。

2、修改生產(chǎn)客戶端,Kafka連接地址改為新Kafka實例的連接地址。3、重啟生產(chǎn)客戶端,將生產(chǎn)業(yè)務遷移到新Kafka實例中。

4、生產(chǎn)業(yè)務遷移后,觀察連接新Kafka實例的消費業(yè)務是否正常。

5、等待原Kafka中數(shù)據(jù)消費完畢,關閉原有消費業(yè)務客戶端。

6、遷移結束。

遷移過程由業(yè)務自主控制。本方案中消費業(yè)務會在一段時間內(nèi)同時消費原Kafka和新Kafka實例。由于在遷移生產(chǎn)業(yè)務之前,已經(jīng)有消費業(yè)務運行在新Kafka實例上,因此不會存在端到端時延的問題。但在遷移生產(chǎn)的開始階段,同時消費原Kafka與新Kafka實例,會導致部分消息之間的生產(chǎn)順序無法保證,存在消息亂序的問題。此場景適用于對端到端時延有要求,卻對消息順序不敏感的業(yè)務。

Kafka業(yè)務遷移詳情:點擊此處前往

實戰(zhàn)2|分布式消息中間件RabbitMQ業(yè)務遷移

RabbitMQ業(yè)務遷移是指將線下單機或集群實例遷移到華為云RabbitMQ實例。

方案架構

提供如下兩種方案:

方案一:不遷移數(shù)據(jù),先切換生產(chǎn),再切換消費。

方案二:先遷移數(shù)據(jù),然后同時切換生產(chǎn)和消費。

實施步驟(方案一:不遷移數(shù)據(jù),先切換生產(chǎn),再切換消費)

針對線下單機或集群實例,在不遷移數(shù)據(jù)的情況下,首先將消息生產(chǎn)切換到線上實例,不再生產(chǎn)消息到線下實例,消費方同時消費線下以及線上實例。當線下實例消息全部消費完后,將消息消費切換到線上實例,完成整個遷移過程。

通過以下方法,確認線下實例是否消費完成:

1、在RabbitMQ WebUI頁面查看,Overview視圖中,可消費消息數(shù)(Ready)以及未確認的消息數(shù)(Unacked)都為0時,說明消費完成。

2、調(diào)用API查看。

curl -s -u username:password -XGET http://ip:port/api/overview

3、回顯信息中“messages_ready”和“messages_unacknowledged”都為0時,說明消費完成。

實施步驟(方案二:先遷移數(shù)據(jù),然后同時切換生產(chǎn)和消費)

1、在線下實例和線上實例都開啟shovel插件,線上實例開啟的方法請參見開啟shovel插件。然后,在線下實例的RabbitMQ WebUI頁面中配置shovel插件信息:Source為線下實例信息,Destination為線上實例信息,并在Source和Destination中設置需要同步的隊列。

2、調(diào)用API查看。

curl -s -u username:password -XGET http://ip:port/api/overview

3、回顯信息中“messages_ready”和“messages_unacknowledged”都為0時,說明遷移完成。

RabbitMQ業(yè)務遷移詳情:點擊此處前往

實戰(zhàn)3|分布式消息中間件RocketMQ業(yè)務遷移

RocketMQ業(yè)務遷移是指將其他廠商或者自建的RocketMQ遷移到華為云分布式消息服務RocketMQ版。

前提條件

1、配置網(wǎng)絡環(huán)境

分布式消息服務RocketMQ版實例分內(nèi)網(wǎng)地址以及公網(wǎng)地址兩種網(wǎng)絡連接方式。如果使用公網(wǎng)地址,則消息生產(chǎn)與消費客戶端需要有公網(wǎng)訪問權限,并配置如下安全組。

2、購買分布式消息服務RocketMQ版實例,具體請參考購買RocketMQ實例。

實施步驟

1、遷移元數(shù)據(jù)至分布式消息服務RocketMQ版實例。

獲取其他廠商或自建RocketMQ實例的元數(shù)據(jù)。

進入RocketMQ實例的安裝目錄,執(zhí)行以下命令,查詢集群名稱。

sh ./bin/mqadmin clusterList -n {nameserver地址及端口號}

執(zhí)行以下命令,導出元數(shù)據(jù)。

sh ./bin/mqadmin exportMetadata -n {nameserver地址及端口號} -c {RocketMQ集群名稱} -f {導出的元數(shù)據(jù)文件的存放路徑}

在控制臺遷移元數(shù)據(jù)。

-登錄分布式消息服務RocketMQ版控制臺。

-單擊RocketMQ實例的名稱,進入實例詳情頁面。

-在左側導航欄,選擇“元數(shù)據(jù)遷移”,進入遷移任務列表頁面。

-單擊“創(chuàng)建遷移任務”,彈出“創(chuàng)建遷移任務”對話框。單擊“確定”。

-遷移完成后,在遷移任務列表頁面查看“任務狀態(tài)”。

-當“任務狀態(tài)”為“遷移完成”,表示所有元數(shù)據(jù)都已成功遷移。

-當“任務狀態(tài)”為“遷移失敗”,表示元數(shù)據(jù)中部分或全部元數(shù)據(jù)遷移失敗。單擊遷移任務名稱,進入遷移任務詳情頁,在“遷移結果”中查看遷移失敗的Topic/消費組名稱,以及失敗原因。

2、遷移生產(chǎn)消息至分布式消息服務RocketMQ版實例。

將生產(chǎn)客戶端的元數(shù)據(jù)連接地址改為分布式消息服務RocketMQ版實例的元數(shù)據(jù)連接地址,重啟生產(chǎn)業(yè)務,使得生產(chǎn)者將新的消息發(fā)送到分布式消息服務RocketMQ版實例中。

3、遷移消費消息至分布式消息服務RocketMQ版實例。

4、待消費組中的消息消費完之后,將消費客戶端的元數(shù)據(jù)連接地址改為分布式消息服務RocketMQ版實例的元數(shù)據(jù)連接地址,重啟消費業(yè)務,使得消費者從分布式消息服務RocketMQ版實例中消費消息。

5、如果有多個RocketMQ實例需要遷移到同一個分布式消息服務RocketMQ版實例中,請依次進行遷移。

RocketMQ業(yè)務遷移詳情:點擊此處前往

分布式消息中間件的應用場景

分布式消息中間件是在分布式系統(tǒng)中,支持各個模塊/組件之間通信的中間件(軟件),這個中間件本身也是一個分布式系統(tǒng)。分布式消息中間件應用場景有業(yè)務解耦、系統(tǒng)流控和事件驅動等。

業(yè)務解耦:系統(tǒng)中的各個服務之間不需要有對方的存在,只需要發(fā)布消息即可——總會有合適的“人”來處理這個消息的。

系統(tǒng)流控:如果上游服務的吞吐能力高于下游服務,上游洪峰可能會沖垮下游,此時消息中間件可以緩沖洪峰、堆積消息,在峰值過去后,再由下游服務慢慢消費堆積的消息。

事件驅動:系統(tǒng)中各個服務之間可以通過消息傳遞的形式驅動業(yè)務,以流式的模型處理。

分布式消息中間件教程視頻

分布式消息服務DMS

04:57

分布式消息服務DMS

分布式消息服務DMS

04:46

分布式消息服務DMS

分布式消息服務DMS

03:08

分布式消息服務DMS

1對1咨詢專屬顧問

1對1免費咨詢?nèi)A為云專屬顧問,為您量身定制產(chǎn)品推薦方案
立即咨詢

華為云咨詢電話:950808或4000-955-988 轉1

華為云咨詢電話:950808或4000-955-988 轉1

華為云專業(yè)的服務團隊,致力于為您提供專業(yè)的售前購買咨詢服務,及完善的售后技術服務,助您云上無憂