chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RocketMQ最佳實踐之坑

jf_ro2CN3Fa ? 來源:yes的練級攻略 ? 2023-06-02 14:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前不久踩了個坑,而這個坑跟 RocketMQ 推薦的一個最佳實踐有關。

看下我從官網(wǎng)的截圖,官方推薦一個應用盡可能只用一個 topic,然后用 tags 來標識子類型。

9711106c-0103-11ee-90ce-dac502259ad0.png

從訂單角度來看,可以用一個 Topic-Order,然后再用不同的 tag 來區(qū)分這是 3C 類的訂單,還是母嬰類的訂單等,然后下游應用根據(jù)不同的需求過濾不同的 tag。

這樣的實現(xiàn)方式從業(yè)務上來看關系更清晰(有點樹狀的感覺),但是在實踐上有點問題。

問題和起因

一般而言,生產(chǎn)上同一個服務至少會部署兩臺機器,不僅僅是為了負載均衡,也是為了系統(tǒng)的可靠性,當一臺機器意外掛了,另一臺可以扛起大旗。

我們在發(fā)服務的時候,都是分批發(fā)布。

這是為了驗證新功能的正確性,不讓其一次性影響所有實例,我們會先發(fā)布一批,然后觀察下日志,確保無誤后繼續(xù)發(fā)布后續(xù)幾臺機器。

而這個操作再結合 RocketMQ 一個 Topic 多 tag 就會出現(xiàn)訂閱消息不一致的情況,導致丟消息。

原理分析

我們借用官網(wǎng)的圖來分析一下。

一般我們都用集群模式,以下描述默認使用集群模式

從使用層來看,發(fā)送和消費消息給我們最直觀的感受如下:

生產(chǎn)者往一個 Topic 發(fā)送消息,消費者訂閱了這個 Topic 就能消費到這個消息。

974595bc-0103-11ee-90ce-dac502259ad0.png

而實際上在 RocketMQ 中有隊列的概念:

97759410-0103-11ee-90ce-dac502259ad0.png

也就是生產(chǎn)者往一個 Topic 發(fā)送消息時,消息會被分到不同的隊列中。

而屬于同一個消費組的消費者們會平分消費這些隊列,從上圖可以看到 Topic A 分了三個隊列,分別是 MessageQueue 0、1、2。

而消費組 ConsumerGroupA 中的 Consumer1 僅消費 MessageQueue0 和 MessageQueue1 這兩個隊列中的消息,而 Consumer2 僅消費 MessageQueue2。

這樣劃分后,Consumer1 是無法消費到 MessageQueue2 中的消息的。

看到可能有人會說,這跟 tag 有什么關系嗎?沒錯,問題就在這個分割跟 tag 沒關系!

在默認情況下生產(chǎn)者發(fā)送消息是以輪詢隊列的方式發(fā)送的。

比如現(xiàn)在 Producer A 要發(fā)送 TopicA-tag1、TopicA-tag2、TopicA-tag3 這三條數(shù)據(jù),輪詢發(fā)送后,MessageQueue 0、1、2 分別存儲了這 3 條消息。

97a02c48-0103-11ee-90ce-dac502259ad0.png

假設同樣訂閱了 TopicA,但是 Consumer 1訂閱的 tag 是 tag1和 tag3,而 Consumer 2 訂閱的是 tag1、tag2,那么問題就來了。

97c1257e-0103-11ee-90ce-dac502259ad0.png

按輪詢的順序 Consumer 1 要消費的 tag3 被投遞到 MessageQueue2 這個隊列中,而 Consumer 1 又無法消費 MessageQueue2 中的消息,Consumer 2 能消費 MessageQueue2 中的消息,但偏偏它又不要 tag3 的消息。這樣一來 tag3 的這條消息就丟了,問題就出現(xiàn)了。

所以,在實踐中,我們要求同一個消費組的消費者的訂閱關系要保持一致。

也就是 Conusmer1 和 Conusmer2 需要訂閱一樣的 Topic、一樣的 tag,這樣消息才不會丟失。

再回到問題

現(xiàn)在我們已經(jīng)知道訂閱關系一致的重要性,但是有時候不得已就會“明知故犯”。

假設我們訂單服務線上一共部署了 5 臺,這 5 臺機器屬于同一個消費組,因此它們負載均衡消費有關訂單的消息,如 Topic-Order。

這 5 臺機器部署的都是同一套代碼,它們都訂閱了 Topic-Order,且 tag 是 A、B、C 三個。

這次發(fā)版需要訂單服務新增消費 Topic-Order 下的 tag D 消息,由于分批部署,所以先部署了 1 臺機器觀察。

而此時線上就出現(xiàn)了訂閱關系不一致的情況!5臺機器,有 1 臺訂閱了 Topic-Order tag A、B、C、D,而其他 4 臺訂閱了 Topic-Order tag A、B、C。

這段時間內就出現(xiàn)了上述所說的丟消息的情況,如果有 Topic-Order tagD 的消息產(chǎn)生,那么就有可能會丟了。

明知有錯,不想犯,卻犯了!

針對這個場景,我暫時沒啥思路,不知道業(yè)界是否有什么方式可以優(yōu)雅的處理這個問題?歡迎各位留言指導或探討!

然后留個坑,如果一臺機器訂閱的是 tagA||tagB,而另一臺訂閱的是 tagB||tagA,這樣算訂閱消息一致嗎?




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    213

    文章

    31086

    瀏覽量

    222324
  • 過濾器
    +關注

    關注

    1

    文章

    444

    瀏覽量

    20972

原文標題:RocketMQ 最佳實踐之坑

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    手機主板散熱導熱膠薄層涂布最佳實踐 |鉻銳特實業(yè)

    鉻銳特實業(yè)|東莞廠家|詳解手機主板導熱膠薄層涂布最佳實踐:推薦80-150μm厚度范圍,熱阻可降低40-50%,芯片溫度下降5-10℃。掌握精準點膠、壓力組裝與材料選擇,實現(xiàn)高效散熱與性能穩(wěn)定。
    的頭像 發(fā)表于 03-02 01:54 ?60次閱讀
    手機主板散熱導熱膠薄層涂布<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b> |鉻銳特實業(yè)

    地下光纖電纜安裝:完整最佳實踐指南

    地下光纖安裝是一場與地質條件、氣候變量、人為風險的持久戰(zhàn)。本文將從路由規(guī)劃、土建施工、光纜敷設、熔接測試到智能運維,構建全生命周期的最佳實踐體系。 數(shù)字化路由勘測的三維穿透 傳統(tǒng)的人工踏勘已無法滿足
    的頭像 發(fā)表于 02-05 09:51 ?223次閱讀

    BMS設計中如何選擇MOSFET——關鍵考慮因素與最佳實踐

    MOSFET時需要綜合考慮多個因素,以確保其滿足BMS的高效和穩(wěn)定運行要求。本文將介紹在BMS設計過程中選擇MDD的MOSFET時需要重點關注的關鍵因素和最佳實踐。一、MO
    的頭像 發(fā)表于 12-15 10:24 ?430次閱讀
    BMS設計中如何選擇MOSFET——關鍵考慮因素與<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>

    長電科技榮獲2025年上市公司可持續(xù)發(fā)展最佳實踐案例

    近日,長電科技榮獲中國上市公司協(xié)會頒發(fā)的“2025年度上市公司董事會最佳實踐案例”“2025年上市公司可持續(xù)發(fā)展最佳實踐案例”兩項大獎,彰顯市場對長電科技公司治理,踐行ESG可持續(xù)發(fā)展
    的頭像 發(fā)表于 12-10 10:34 ?564次閱讀
    長電科技榮獲2025年上市公司可持續(xù)發(fā)展<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>案例

    立訊精密榮獲2025年上市公司可持續(xù)發(fā)展最佳實踐案例

    11月18日,由中國上市公司協(xié)會(中上協(xié))主辦的2025上市公司可持續(xù)發(fā)展大會在北京隆重召開。會上,中上協(xié)發(fā)布了2025上市公司可持續(xù)發(fā)展最佳實踐案例名單,從環(huán)境、社會和治理3個維度出發(fā)評優(yōu)樹典,立
    的頭像 發(fā)表于 11-26 17:49 ?1760次閱讀

    思瑞浦獲評“2025年上市公司董事會最佳實踐案例”

    喜訊11月18日,中國上市公司協(xié)會發(fā)布“2025年上市公司董事會最佳實踐案例評選榜單”。思瑞浦憑借在董事會運作及董事會創(chuàng)新特色等方面的優(yōu)秀表現(xiàn),獲評“2025年上市公司董事會最佳實踐
    的頭像 發(fā)表于 11-18 16:33 ?1285次閱讀
    思瑞浦獲評“2025年上市公司董事會<b class='flag-5'>最佳</b><b class='flag-5'>實踐</b>案例”

    Air8000 LuatOS exgnss擴展庫應用秘籍:定位開發(fā)避指南!

    在LuatOS exgnss擴展庫的使用中,開發(fā)者常因坐標系誤區(qū)或模式管理不當踩。本秘籍結合實戰(zhàn)經(jīng)驗,針對Air8000平臺,系統(tǒng)總結常見問題(如WGS-84與國內地圖偏差)、解決方案及最佳實踐
    的頭像 發(fā)表于 11-14 15:26 ?1870次閱讀
    Air8000 LuatOS exgnss擴展庫應用秘籍:定位開發(fā)避<b class='flag-5'>坑</b>指南!

    愛芯元智榮獲2025金輯獎最佳技術實踐應用獎

    2025年蓋世汽車第七屆“金輯獎”揭曉,愛芯元智憑借全球化輔助駕駛芯片M57系列榮獲“最佳技術實踐應用獎”。
    的頭像 發(fā)表于 11-02 09:17 ?717次閱讀

    安波福榮獲2025年度最佳實踐產(chǎn)品領導力大獎

    近日,全球領先的增長咨詢公司Frost & Sullivan在美國亞利桑那州舉辦2025年度最佳實踐獎頒獎典禮。安波福PULSE雷達視覺一體感知系統(tǒng)憑借在全球汽車輔助泊車領域的卓越表現(xiàn),榮獲2025年度最佳
    的頭像 發(fā)表于 10-30 15:02 ?1722次閱讀

    達實智能榮獲中國企業(yè)管理“十大最佳實踐”獎

    10月17日,以“AI+管理:鑄就新質生產(chǎn)力” 為主題的第十五屆中國管理·全球論壇暨首屆“中國企業(yè)管理最佳實踐榜”發(fā)布盛典在山東青島順利舉行。達實智能董事長劉磅作為中國管理模式50人+論壇核心成員
    的頭像 發(fā)表于 10-20 17:53 ?2018次閱讀

    生產(chǎn)環(huán)境中Kubernetes容器安全的最佳實踐

    隨著容器化技術的快速發(fā)展,Kubernetes已成為企業(yè)級容器編排的首選平臺。然而,在享受Kubernetes帶來的便利性和可擴展性的同時,安全問題也日益凸顯。本文將從運維工程師的角度,深入探討生產(chǎn)環(huán)境中Kubernetes容器安全的最佳實踐
    的頭像 發(fā)表于 07-14 11:09 ?740次閱讀

    Linux網(wǎng)絡管理的關鍵技術和最佳實踐

    在大型互聯(lián)網(wǎng)企業(yè)中,Linux網(wǎng)絡管理是運維工程師的核心技能之一。面對海量服務器、復雜網(wǎng)絡拓撲、高并發(fā)流量,運維人員需要掌握從基礎網(wǎng)絡配置到高級網(wǎng)絡優(yōu)化的全套技術棧。本文將結合大廠實際場景,深入解析Linux網(wǎng)絡管理的關鍵技術和最佳實踐
    的頭像 發(fā)表于 07-09 09:53 ?952次閱讀

    長安汽車與深演智能榮獲2025愛分析DeepSeek最佳實踐案例

    近日,深演智能與長安汽車聯(lián)合打造的 《長安汽車基于大模型的線索清洗創(chuàng)新運營項目》 榮獲 2025愛分析·DeepSeek最佳實踐案例獎項。面對汽車市場競爭加劇、線索成本攀升的行業(yè)痛點,該項目通過AI技術重構營銷全鏈路,為車企數(shù)智化升級提供標桿范式。
    的頭像 發(fā)表于 06-28 15:59 ?2444次閱讀

    鴻蒙5開發(fā)寶藏案例分享---折疊屏開發(fā)實踐

    ?** 最佳實踐案例大揭秘!開發(fā)者的隱藏寶藏手冊** 大家好呀! 今天在翻鴻蒙文檔時突然發(fā)現(xiàn)了一個驚天大寶藏——官方其實早就默默放出了 幾十個超實用開發(fā)案例 ,覆蓋折疊屏適配、性能優(yōu)化、UI框架、跨
    發(fā)表于 06-12 11:44

    天馬榮獲新財富雜志“2024 ESG最佳實踐獎”

    天馬可持續(xù)發(fā)展?ESG表現(xiàn)再獲認可,上榜2024年新財富雜志最佳上市公司評選“ESG最佳實踐榜單”。
    的頭像 發(fā)表于 05-21 14:43 ?947次閱讀