<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      RocketMQ的使用2

      1、生產(chǎn)者組和消費(fèi)者組

      1.1、生產(chǎn)者組

      通常具有同樣屬性(處理的消息種類-topic、以及消息處理邏輯流程—分布式多個(gè)客戶端)的一些producer可以歸為同一個(gè)group。生產(chǎn)者組的作用是在集群的情況下,一個(gè)生產(chǎn)者down之后,本地事務(wù)回滾后,可以繼續(xù)聯(lián)系該組下的另外一個(gè)生產(chǎn)者實(shí)例,不至于導(dǎo)致業(yè)務(wù)走不下去。

      在事務(wù)消息機(jī)制中,如果發(fā)送某條消息的producer-A宕機(jī),使得事務(wù)消息一直處于PREPARED狀態(tài)并超時(shí),則broker會(huì)回查同一個(gè)group的其他producer,確認(rèn)這條消息應(yīng)該commit 還是 rollback。

       

      將發(fā)送不同主題的實(shí)例劃分為同一個(gè)生產(chǎn)者組通常也是可行的,但也不是太建議,從規(guī)范管理和監(jiān)控層面來(lái)講也不太方便。

       

      1.2、消費(fèi)者組

      消費(fèi)者組是一組消費(fèi)者的集合,這些消費(fèi)者共同訂閱一個(gè)或多個(gè)主題(Topic),并協(xié)同消費(fèi)這些主題中的消息。每個(gè)消費(fèi)者組都有一個(gè)唯一的標(biāo)識(shí)符(Group ID),消息隊(duì)列系統(tǒng)會(huì)根據(jù)這個(gè)標(biāo)識(shí)符來(lái)區(qū)分不同的消費(fèi)者組,并為每個(gè)消費(fèi)者組獨(dú)立維護(hù)消費(fèi)進(jìn)度。

      工作原理:

      • 消息分配:當(dāng)一個(gè)主題有多個(gè)分區(qū)(Partition)或隊(duì)列(Queue)時(shí),消息隊(duì)列系統(tǒng)會(huì)根據(jù)一定的算法將這些分區(qū)或隊(duì)列分配給消費(fèi)者組內(nèi)的各個(gè)消費(fèi)者實(shí)例。常見(jiàn)的分配策略包括輪詢、范圍分配等。
      • 消費(fèi)進(jìn)度管理:每個(gè)消費(fèi)者組會(huì)獨(dú)立記錄自己消費(fèi)到的位置,即消費(fèi)偏移量(Offset)。當(dāng)消費(fèi)者從消息隊(duì)列中拉取消息并處理完成后,會(huì)向消息隊(duì)列提交消費(fèi)偏移量,以便下次從該位置繼續(xù)消費(fèi)。不同消費(fèi)者組的消費(fèi)進(jìn)度互不影響,即使它們訂閱的是同一個(gè)主題。

      特點(diǎn)說(shuō)明:

      • 默認(rèn)情況下,在同一個(gè)消費(fèi)者組里,一條消息只會(huì)被組內(nèi)的一個(gè)消費(fèi)者實(shí)例消費(fèi)。消息隊(duì)列系統(tǒng)會(huì)通過(guò)負(fù)載均衡算法將消息分配給消費(fèi)者組內(nèi)的不同實(shí)例。在 RocketMQ 中,同個(gè)消息主題會(huì)被劃分為多個(gè)隊(duì)列,RocketMQ 的 Broker 會(huì)感知到消費(fèi)者組內(nèi)的所有消費(fèi)者實(shí)例,并根據(jù)負(fù)載均衡算法(如平均分配)將該主題下的消息隊(duì)列分配給各個(gè)消費(fèi)者實(shí)例,每個(gè)消息隊(duì)列在同一時(shí)間只會(huì)被一個(gè)消費(fèi)者實(shí)例消費(fèi),從而保證每條消息僅被一個(gè)實(shí)例處理。在一些特殊情況,比如消息模式是廣播模式時(shí),1個(gè)消息會(huì)被多個(gè)實(shí)例消費(fèi)。
      • 不同消費(fèi)者組是互相獨(dú)立的,可以訂閱同個(gè)主題或不同主題。每個(gè)消費(fèi)者組可以獨(dú)立地消費(fèi)主題中的消息。當(dāng)生產(chǎn)者將消息發(fā)送到某個(gè)主題后,消息隊(duì)列會(huì)為每個(gè)訂閱了該主題的消費(fèi)者組維護(hù)一個(gè)獨(dú)立的消費(fèi)進(jìn)度,不同消費(fèi)者組對(duì)消息的消費(fèi)是相互隔離、互不影響的。
      • 一條消息在不同消費(fèi)者組中通常會(huì)被重復(fù)消費(fèi)。消息隊(duì)列系統(tǒng)對(duì)每個(gè)消費(fèi)者組的消費(fèi)進(jìn)度是獨(dú)立維護(hù)的。當(dāng)生產(chǎn)者把消息發(fā)送到某個(gè)主題后,各個(gè)訂閱了該主題的消費(fèi)者組會(huì)各自記錄自己消費(fèi)到的位置。不同消費(fèi)者組對(duì)消息的消費(fèi)相互隔離,彼此不會(huì)影響。所以,每個(gè)消費(fèi)者組都可以獨(dú)立地從主題中獲取消息并進(jìn)行消費(fèi),同一條消息通常在不同消費(fèi)者組中會(huì)被重復(fù)處理。

       

      在同個(gè)消費(fèi)者組內(nèi),不同的示例應(yīng)保持完全一樣的訂閱規(guī)則(包括主題、Tag),非常不建議在同個(gè)消費(fèi)者組內(nèi)不同實(shí)例訂閱不同規(guī)則。從技術(shù)實(shí)現(xiàn)角度來(lái)看,同個(gè)消費(fèi)者組內(nèi)的不同實(shí)例雖然能夠訂閱不同主題。但是,消費(fèi)者組的設(shè)計(jì)初衷就是讓組內(nèi)的實(shí)例共同協(xié)作來(lái)消費(fèi)同一個(gè)或多個(gè)主題的消息,以實(shí)現(xiàn)負(fù)載均衡、容錯(cuò)等功能。當(dāng)組內(nèi)實(shí)例訂閱不同主題時(shí),可能會(huì)存在以下問(wèn)題:

      1. 消費(fèi)進(jìn)度管理混亂:消息隊(duì)列系統(tǒng)通常會(huì)為每個(gè)消費(fèi)者組維護(hù)統(tǒng)一的消費(fèi)進(jìn)度,當(dāng)組內(nèi)實(shí)例訂閱不同主題時(shí),消費(fèi)進(jìn)度的管理會(huì)變得復(fù)雜,容易出現(xiàn)消費(fèi)進(jìn)度不一致的問(wèn)題,可能會(huì)漏掉一些消息。
      2. 負(fù)載均衡失效:消費(fèi)者組的負(fù)載均衡機(jī)制是基于組內(nèi)實(shí)例共同消費(fèi)相同主題設(shè)計(jì)的,訂閱不同主題會(huì)使該機(jī)制無(wú)法正常工作,可能導(dǎo)致部分實(shí)例負(fù)載過(guò)高,而部分實(shí)例閑置。
      3. 容錯(cuò)性降低:消費(fèi)者組的容錯(cuò)機(jī)制依賴于組內(nèi)實(shí)例對(duì)相同主題的共同消費(fèi),訂閱不同主題會(huì)削弱這種容錯(cuò)能力,當(dāng)某個(gè)實(shí)例出現(xiàn)故障時(shí),無(wú)法保證消息的正常消費(fèi)。

      因此,在實(shí)際應(yīng)用中,盡量應(yīng)該讓同一個(gè)消費(fèi)者組內(nèi)的實(shí)例訂閱相同的主題,以充分發(fā)揮消費(fèi)者組的優(yōu)勢(shì),避免不必要的問(wèn)題

       

      2、隊(duì)列

      隊(duì)列的作用:

        • 負(fù)載均衡:通過(guò)多個(gè)隊(duì)列可以將消息的發(fā)送和消費(fèi)請(qǐng)求均勻地分布到不同的隊(duì)列上,進(jìn)而由不同的消費(fèi)者或消費(fèi)者組進(jìn)行處理,實(shí)現(xiàn)負(fù)載均衡,提高系統(tǒng)的整體處理能力。例如,在一個(gè)訂單處理系統(tǒng)中,大量的訂單消息可以通過(guò)多個(gè)隊(duì)列分配給不同的消費(fèi)者進(jìn)行處理,避免單個(gè)消費(fèi)者處理壓力過(guò)大。
        • 保證消息順序性:在單個(gè)隊(duì)列內(nèi),消息是嚴(yán)格按照發(fā)送順序進(jìn)行存儲(chǔ)和消費(fèi)的,這保證了對(duì)于有順序要求的消息,能夠按照正確的順序被處理。比如在一個(gè)物流系統(tǒng)中,關(guān)于同一個(gè)訂單的創(chuàng)建、發(fā)貨、簽收等消息,通過(guò)發(fā)送到同一個(gè)隊(duì)列,可以確保消費(fèi)者按照消息產(chǎn)生的順序進(jìn)行處理,避免出現(xiàn)邏輯錯(cuò)誤。
        • 提高并發(fā)處理能力:多個(gè)隊(duì)列可以同時(shí)進(jìn)行消息的讀寫(xiě)操作,允許多個(gè)生產(chǎn)者同時(shí)向不同的隊(duì)列發(fā)送消息,也允許多個(gè)消費(fèi)者同時(shí)從不同的隊(duì)列拉取消息進(jìn)行消費(fèi),從而提高系統(tǒng)的并發(fā)處理能力,滿足高并發(fā)場(chǎng)景下的消息處理需求。

      在創(chuàng)建主題時(shí),可以指定該主題包含的隊(duì)列數(shù)量。RocketMQ 會(huì)根據(jù)配置在相應(yīng)的 Broker 上創(chuàng)建指定數(shù)量的消息隊(duì)列。此外,在一些動(dòng)態(tài)擴(kuò)展的場(chǎng)景下,也可以根據(jù)實(shí)際需求動(dòng)態(tài)地增加隊(duì)列數(shù)量,以適應(yīng)業(yè)務(wù)流量的變化。

      通常情況下,1個(gè)消息只會(huì)放在1個(gè)消息隊(duì)列中,而每個(gè)消息隊(duì)列在同一時(shí)間只會(huì)被一個(gè)消費(fèi)者實(shí)例消費(fèi),所以每條消息僅被一個(gè)實(shí)例處理。不過(guò)在一些特殊情況,比如廣播模式,當(dāng)消費(fèi)者組以廣播模式消費(fèi)消息時(shí),RocketMQ 會(huì)將每條消息發(fā)送到所有隊(duì)列,這樣每個(gè)隊(duì)列都會(huì)有相同的消息。在這種模式下,不管消息在哪個(gè)隊(duì)列中,每個(gè)消費(fèi)者實(shí)例都會(huì)收到主題下的所有消息。

       

      一個(gè)隊(duì)列只能在同一時(shí)間只能分配給一個(gè)消費(fèi)者進(jìn)程,而一個(gè)消費(fèi)者進(jìn)程可以同時(shí)消費(fèi)多條隊(duì)列中的消息。

       

      posted @ 2025-02-18 15:36  wenxuehai  閱讀(182)  評(píng)論(0)    收藏  舉報(bào)
      //右下角添加目錄
      主站蜘蛛池模板: 国产精品对白刺激久久久| 日本不卡码一区二区三区| 黑人欧美一级在线视频| 久久国产精品不只是精品| 国产午夜精品久久久久免费视| 色综合久久综合香蕉色老大| 成年在线观看免费人视频| 亚洲精品日本久久久中文字幕| 国产精品久久久久aaaa| 久久夜色精品国产亚洲a| 国产999精品2卡3卡4卡| 成熟了的熟妇毛茸茸| 久久国产精品伊人青青草| 麻豆文化传媒精品一区观看| 亚洲成年轻人电影网站WWW| 午夜成人无码免费看网站| 99久久国产福利自产拍| 久久96热在精品国产高清| 久久精品国产亚洲αv忘忧草 | 亚洲国产精品人人做人人爱| 一区二区中文字幕av| 欧美日韩中文字幕视频不卡一二区| 国产国拍精品av在线观看| 伊人久久大香线蕉AV网禁呦| 人妻精品久久无码区| 正在播放国产对白孕妇作爱| 四虎永久在线精品无码视频| 国产91精品一区二区亚洲| 综合久久婷婷综合久久| 色综合色狠狠天天综合网| 天堂V亚洲国产V第一次| 亚洲色大成网站www永久男同| 久久精品夜夜夜夜夜久久| 国产成人无码免费视频麻豆| 国产成人a在线观看视频免费| 亚洲自在精品网久久一区| 精品无人乱码一区二区三区的优势| 一区二区三区无码免费看| gogogo高清在线观看视频中文| 国产日韩一区二区在线| 国产学生裸体无遮挡免费|