美團(tuán)云發(fā)布消息隊(duì)列服務(wù) 應(yīng)對(duì)十倍流量激增的秘密武器
近日,作為國內(nèi)領(lǐng)先的公有云服務(wù)商,美團(tuán)云PaaS家族又增加了一名新成員——消息隊(duì)列服務(wù)。美團(tuán)云消息隊(duì)列服務(wù)100%兼容原生RabbitMQ,能夠?yàn)橛脩籼峁┛焖俨渴?、易于管理、彈性伸縮的消息隊(duì)列服務(wù)。目前,為用戶提供基礎(chǔ)型、進(jìn)階型、高階型三種配置類型。上線三個(gè)月內(nèi),基礎(chǔ)型配置實(shí)行免費(fèi)政策。
RabbitMQ是消息中間件的一種,最初起源于金融系統(tǒng),用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,在易用性、擴(kuò)展性、高可用性等方面表現(xiàn)不俗。RabbitMQ能夠?qū)崿F(xiàn)系統(tǒng)之間的雙向解耦:當(dāng)生產(chǎn)者大量產(chǎn)生數(shù)據(jù),而消費(fèi)者又無法快速消費(fèi)時(shí),就需要一個(gè)中間層來保存數(shù)據(jù)。例如日志系統(tǒng),使用RabbitMQ能夠高效簡化工作量,大幅提升業(yè)務(wù)效率。
美團(tuán)云消息隊(duì)列基于RabbitMQ開發(fā),經(jīng)歷了大規(guī)模商業(yè)應(yīng)用的考驗(yàn)。以美團(tuán)外賣為例,目前外賣的日均訂單量已經(jīng)突破600萬,業(yè)務(wù)系統(tǒng)面臨著流量暴增、異步處理和系統(tǒng)應(yīng)用耦合三大挑戰(zhàn)。為了保障業(yè)務(wù)穩(wěn)定運(yùn)行并提供良好的用戶體驗(yàn),消息隊(duì)列被廣泛應(yīng)用在多個(gè)業(yè)務(wù)場(chǎng)景下,已成為保證美團(tuán)業(yè)務(wù)高效穩(wěn)定體驗(yàn)好的秘密武器之一。
美團(tuán)外賣在七夕和國慶期間,短時(shí)間內(nèi)有超過10倍以上的爆發(fā),部分業(yè)務(wù)QPS超過4000,后端服務(wù)器流量激增。這種情況下,借助消息隊(duì)列服務(wù),將下單請(qǐng)求快速寫入隊(duì)列,后臺(tái)程序就能夠通過消費(fèi)隊(duì)列異步處理用戶請(qǐng)求。同時(shí),通過部署多個(gè)消費(fèi)程序?qū)崿F(xiàn)處理能力的水平擴(kuò)展,不但能實(shí)現(xiàn)壓力削峰,同時(shí)又能做到不傷害用戶體驗(yàn),并大幅降低服務(wù)器部署和開發(fā)成本。
其次,在真實(shí)業(yè)務(wù)場(chǎng)景下,系統(tǒng)需要執(zhí)行部分耗時(shí)較長的任務(wù),響應(yīng)速度慢會(huì)影響用戶體驗(yàn)。通過消息隊(duì)列,進(jìn)行異步處理,能夠解決短信及郵件通知延遲較長等問題,進(jìn)而提升美團(tuán)外賣的用戶體驗(yàn)。
此外,美團(tuán)云技術(shù)總監(jiān)表示,電商業(yè)務(wù)系統(tǒng)的一筆交易往往包含多個(gè)環(huán)節(jié),比如下單、減庫存、支付、通知用戶等等,需要不同應(yīng)用之間傳遞消息通知。通過消息隊(duì)列的發(fā)布/訂閱功能,能夠?qū)崿F(xiàn)應(yīng)用解耦,有效提升消息傳遞效率。另一方面系統(tǒng)運(yùn)行過程中會(huì)產(chǎn)生大量日志,也可以通過消息隊(duì)列匯總到數(shù)據(jù)平臺(tái)進(jìn)行處理,方便后續(xù)數(shù)據(jù)運(yùn)營。
本次美團(tuán)云對(duì)外發(fā)布的消息隊(duì)列,提供集群創(chuàng)建/刪除,外網(wǎng)web管理,集群調(diào)整配置等功能:
a. 支持container,可快速創(chuàng)建集群
b. 橫向可擴(kuò)展,目前架構(gòu)支持未來迭代版本增刪節(jié)點(diǎn)
c. 高可用,雙節(jié)點(diǎn)架構(gòu),具有一定的容災(zāi)能力(單節(jié)點(diǎn)失效不影響使用性)
b. 便于用戶運(yùn)維,提供簡單易操作的web管理界面,方便用戶實(shí)時(shí)查看、變更消息隊(duì)列
同時(shí),美團(tuán)云消息隊(duì)列具備以下特點(diǎn):
1. 高可用
采用主備模式、鏡像隊(duì)列模式,保證您的數(shù)據(jù)安全可靠
2. 數(shù)據(jù)安全
網(wǎng)絡(luò)隔離、SSL認(rèn)證,保障數(shù)據(jù)更私密
3. 開放權(quán)限,自由可控
獨(dú)享消息隊(duì)列集群,使用更自由
4. 全面兼容AMPQ協(xié)議
與開源社區(qū)的Rabbitmq版本完全兼容
5. 快速部署 彈性擴(kuò)容
分鐘級(jí)創(chuàng)建/分配節(jié)點(diǎn),無需重啟服務(wù),動(dòng)態(tài)擴(kuò)容
6. 便捷監(jiān)控管理
提供外網(wǎng)訪問RabbitMQ管理界面
7. 超高性價(jià)比
基礎(chǔ)型配置機(jī)器即可達(dá)1800QPS
美團(tuán)云PaaS產(chǎn)品線技術(shù)負(fù)責(zé)人表示:消息隊(duì)列是企業(yè)架構(gòu)演進(jìn)過程中必不可少的一個(gè)重要組成部分。美團(tuán)點(diǎn)評(píng)擁有用戶近6億,日訂單量突破1300萬單,移動(dòng)端月度活躍用戶超1.8億,年度活躍買家達(dá)2.2億。目前,在美團(tuán)點(diǎn)評(píng)架構(gòu)中,消息隊(duì)列服務(wù)被廣泛使用。消息隊(duì)列天生的靈活性、可擴(kuò)展性、消息處理能力極大地提升了美團(tuán)點(diǎn)評(píng)在服務(wù)解耦,處理服務(wù)峰值方面的能力。
對(duì)于中小企業(yè)來說,自建與運(yùn)維消息隊(duì)列成本和復(fù)雜度都非常高。為了幫助用戶快速低成本,實(shí)現(xiàn)分布式架構(gòu)組服務(wù)間的異步解耦,提高服務(wù)整體的可靠性與擴(kuò)展性,美團(tuán)云結(jié)合美團(tuán)內(nèi)部積累的消息隊(duì)列經(jīng)驗(yàn),推出了消息隊(duì)列產(chǎn)品。后續(xù),美團(tuán)云將力爭為用戶提供更高效、穩(wěn)定的公有云服務(wù)。同時(shí),也不斷完善PaaS產(chǎn)品線,從而為用戶帶去更好的產(chǎn)品以及更實(shí)惠的價(jià)格。