<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          億級消息中心架構(gòu)方案,寫得太好了 !

          共 1421字,需瀏覽 3分鐘

           ·

          2021-09-28 09:53

          目標(biāo)

          技術(shù)目標(biāo): 上行到消息隊列api吞吐量10000條/秒,下發(fā)第三方平臺1000條/秒(僅平臺自身處理能力,第三方看第三方處理能力極限指標(biāo)為準(zhǔn));保證消息中心100%高可用。

          業(yè)務(wù)目標(biāo): 對接新需求,明確消息中心的負(fù)責(zé)人(架構(gòu)組),及時響應(yīng)業(yè)務(wù)處理或者反饋。

          產(chǎn)品目標(biāo): 支持消息處理狀態(tài)查詢,簡單的消息規(guī)范消息對接(初級開發(fā)5分鐘實(shí)現(xiàn)接入成本),規(guī)范化消息模板辦理。

           

          需求原型

          功能需求:

          支持阿里云短信,微信公眾號,app推送,統(tǒng)一站內(nèi)信,企業(yè)微信(應(yīng)用,個人)等第三方推送。

          包含消息模板管理,賬戶管理,消息搜索,批量消息發(fā)送等。

           

          技術(shù)方案

          業(yè)務(wù)部署交互圖

           

           


          業(yè)務(wù)核心邏輯交互圖

           

           


           

          技術(shù)選型

          優(yōu)勢

          缺點(diǎn)

          rocketmq

          【性能好】單個吞吐量能達(dá)10萬/秒,并行推送能力(消費(fèi)能力)可以通過rocketmq的分區(qū)(分區(qū)細(xì)節(jié)需要設(shè)計)數(shù)量進(jìn)行擴(kuò)展。性能上面是一個亮點(diǎn)和優(yōu)勢

          【部分功能不支持】一旦進(jìn)入rocketmq隊列,推送消息不可撤回。很多數(shù)據(jù)庫層面的功能特性(mq不支持)在設(shè)計上就會舍棄。

          es

          【性能好】可以支撐上億的數(shù)據(jù)量的關(guān)鍵詞搜索,實(shí)時同步的性能和吞吐量都還可以。

          【并發(fā)插入能力略差】假設(shè)消息下發(fā)吞吐量高,需要批量對消息進(jìn)行同步,這樣可以優(yōu)化es吞吐量。高并發(fā)對es同步,es承載能力可能會出問題(可以投入測試進(jìn)行驗(yàn)證)。

           

          概要設(shè)計描述

          1. rocketmq 設(shè)計正常消息隊列(正常投遞消息),重試消息隊列(支持多種延遲機(jī)制,發(fā)送失敗重試的消息),發(fā)送結(jié)果消息隊列(發(fā)送超限或者成功的消息)。

          2. es 同步以上三種隊列的消息,以最終一致性(最晚時間戳校驗(yàn))保持消息信息最新。

          3. mysql 僅支持管理模板,賬號等基礎(chǔ)管理功能。

           

          底層框架設(shè)計、運(yùn)維層面描述

          1. 統(tǒng)一網(wǎng)關(guān): spring cloud gateway/kong,僅做api層面的路由支持。

          2. 基礎(chǔ)框架: 選定jar包版本,es,rocketmq,實(shí)時報警,性能監(jiān)控 對這些接口做二次封裝,es支持sql模式插入查詢;rocketmq做底層實(shí)現(xiàn)剝離。

          參考: bsf 統(tǒng)一基礎(chǔ)框架 https://gitee.com/yhcsx/csx-bsf-all

          3. 業(yè)務(wù)框架: 標(biāo)準(zhǔn)輸入輸出http rpc等業(yè)務(wù)框架工具或協(xié)議層面支持。

          4. 服務(wù)高可用:k8s&docker 及devops 線上一體化部署的支持,要做到一鍵發(fā)布,一鍵回滾,滾動發(fā)布,不停機(jī)發(fā)版。


            作者 |  車江毅

          來源 |   cnblogs.com/chejiangyi/p/14884931.html


          加鋒哥微信: java3459  
          圍觀鋒哥朋友圈,每天推送Java干貨!

          瀏覽 42
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五月婷婷综合色 | 国产成人精品无码 | 五月性爱视频 | 艹逼视频在线免费观看 | 青娱乐免费大香蕉 |