7月15日,微軟宣布,Azure高級消息服務(wù)正式發(fā)布(GA),距離微軟推出預(yù)覽版已經(jīng)有10個月的時間了。2015年11月,InfoQ就曾經(jīng)對預(yù)覽版的發(fā)布進行過報道。Azure高級消息服務(wù)以微軟的平臺即服務(wù)(PaaS)消息平臺Azure服務(wù)總線為基礎(chǔ)構(gòu)建。高級服務(wù)包含現(xiàn)在能夠在Azure服務(wù)總線標(biāo)準(zhǔn)消息層中找到的所有基于云的消息功能,比如隊列和主題。不過,該服務(wù)不是一個多租戶消息平臺,和標(biāo)準(zhǔn)消息層一樣,并且允許客戶將專用的計算資源用于他們的工作負(fù)載。計算資源專用的結(jié)果是,服務(wù)總線團隊增大了客戶可以在消息服務(wù)中處理的最大消息。高級消息服務(wù)支持的最大消息由傳統(tǒng)的256KB提高到了1MB。
該服務(wù)的客戶采用速度不斷增加。Azure服務(wù)總線團隊項目經(jīng)理Justin Conway解釋說:“高級消息已經(jīng)展示出了強勁的月增速,每天的流量幾乎超過了10億次操作。有些客戶想要可靠性、高吞吐量以及一個屬于自己的環(huán)境,高級消息的正式發(fā)布真正地為他們提供了一個最先進的消息平臺。”
除了Dynamics CRM、必應(yīng)地圖、分析服務(wù)等微軟服務(wù)外,使用新服務(wù)的客戶群包括金融服務(wù)公司、披薩連鎖店、保險公司、媒體公司。
高級消息在以下7個區(qū)域可用,包括:東南亞、東亞、西歐、北歐、美國中部、美國西部和美國東部。其他區(qū)域會根據(jù)客戶需求添加。
InfoQ有幸與Azure服務(wù)總線團隊首席項目經(jīng)理Dan Rosanova探討了這個版本,下面是談話內(nèi)容。
InfoQ:你們團隊最近發(fā)表了一篇博文,其中提到,每天的高級消息流量幾乎超過了10億次操作。是什么促使客戶使用該服務(wù)?
Dan Rosanova:對于延遲或可預(yù)見性比較敏感的客戶往往會為這項高級服務(wù)所吸引。傳統(tǒng)的應(yīng)用場景是電子商務(wù)和訂單處理,在這類場景中,用戶響應(yīng)時間很關(guān)鍵,或者正在發(fā)生資產(chǎn)和金錢轉(zhuǎn)移。我們還有一個ISV用戶群,他們需要為他們的客戶提供一個可擴展的平臺,他們的采用速度很快。
InfoQ:對于某些客戶,標(biāo)準(zhǔn)消息當(dāng)前的消息大小限制(256KB)在某些情況下已經(jīng)成為一種局限。你們?yōu)槭裁礇Q定讓高級消息支持更大的消息,你們是如何確定1MB這個大小的?
Dan Rosanova:在像標(biāo)準(zhǔn)消息這樣的多租戶平臺中,主要的問題是,更大的消息會占用更大的池資源。由于高級服務(wù)不是一個多租戶平臺,我們不用擔(dān)心這個問題。而且,我們不再使用SQL作為消息存儲,這也減少了平臺約束。每個客戶都有他們自己的消息存儲。對于消息大小,我們考慮了一系列方案。我們的服務(wù)是個以消息為重點的服務(wù),你必須確定你的場景是真正的消息,還是存儲。將來,我們可能會將大小限制調(diào)高,但不會有數(shù)量級的差別。不過,與其他云消息服務(wù)相比,1MB已經(jīng)是一個相當(dāng)大的消息大小了。
InfoQ:有些客戶對在新服務(wù)中處理大消息感興趣,對于這部分客戶,有什么最佳實踐或指導(dǎo)原則可以提供給他們嗎?
Dan Rosanova:這是一個專用的資源模型,大消息所需的資源比小消息要多。不管是在我們的消息服務(wù)中,還是在你的發(fā)送者和接收者中,都是如此。與我們的代碼相比,你代碼中的序列化開銷更大,因為我們不會打開消息體。重要的是要知道,消息越大,你在自己的代碼中執(zhí)行序列化和處理所使用的CPU資源就越多。此外,你應(yīng)該對服務(wù)和命名空間進行基準(zhǔn)測試,看看它在處理較大消息時的表現(xiàn)。與小消息相比,大消息消耗IOPS和存儲都更快,但在我們的高級服務(wù)中,性能始終如一。
InfoQ:最近,您的團隊發(fā)布了一些有關(guān)新服務(wù)的性能統(tǒng)計數(shù)據(jù)。你們對這些數(shù)值感到意外嗎?你們有計劃增加消息單元(MU)數(shù)量,讓客戶可以為擴大規(guī)模做好準(zhǔn)備嗎?
Dan Rosanova:根據(jù)本地消息的經(jīng)驗,消息傳輸長期超過1千條就相當(dāng)快了。所以,是的,我們很高興自己的服務(wù)超過了那一水平。我們希望其規(guī)??梢跃€性擴展,而測試表明它就是線性的。至于增加可用的消息單元數(shù)量,將大規(guī)模工作負(fù)載分片總是很重要,而且我們不想鼓勵人們回避做這些重要的決策。我們認(rèn)為,每秒16000條消息應(yīng)該可以滿足大多數(shù)客戶的需求了,但是,我們會一直歡迎客戶的反饋。我們正在考慮增加可用的消息單元,但現(xiàn)在還沒有確切的計劃。
InfoQ:近日,在多倫多舉行的全球合作伙伴大會上,您在分享中提到,即將推出“事件中心專用能力(Event Hubs Dedicated Capacity)”。這兩個服務(wù)有什么不同?
Dan Rosanova:今年春天臨近結(jié)束的時候,我們悄悄地面向微軟EA客戶發(fā)布了事件中心專用能力。這是些事件中心的單租戶集群,用于規(guī)模非常大、要求非常高的工作負(fù)載。與高級消息類似,但應(yīng)用場景的規(guī)模要大許多,其定價模型以固定的月度價格為基礎(chǔ),沒有額外的使用費用。它需要客戶購買三個月,并參與到我們的產(chǎn)品團隊。那不是一個輕量級的東西,不要想著只是在周末做個嘗試。其真正的目標(biāo)客戶是那些需要每秒處理成千上萬條或數(shù)百萬條消息的客戶。我們歡迎任何感興趣的人聯(lián)系他們的EA銷售代表或者Azure客服。