在最近的re:Invent 2017大會上,Amazon推出了一項(xiàng)名為Amazon MQ的新服務(wù)。這是針對Apache ActiveMQ的一項(xiàng)消息代理托管服務(wù),而Apache ActiveMQ是一個(gè)開源的企業(yè)級的消息代理,兼容大多數(shù)行業(yè)標(biāo)準(zhǔn)協(xié)議。Amazon選中ActiveMQ,就是因?yàn)樗С执蠖鄶?shù)行業(yè)標(biāo)準(zhǔn)協(xié)議。
Jeff Barr是AWS的首席布道師,他在AWS的新聞博客中對此解釋說:
作為一項(xiàng)托管服務(wù),Amazon MQ關(guān)注ActiveMQ的管理和維護(hù)功能。這包括代理提供、維護(hù)、故障檢測與恢復(fù),來保證高可用性和消息持久性。使用Amazon MQ,你可以直接訪問ActiveMQ控制臺、行業(yè)標(biāo)準(zhǔn)API和通信協(xié)議,包括JMS、NMS、AMQP、STOMP、MQTT和WebSocket。這使你可以從使用這些標(biāo)準(zhǔn)的任何其它消息代理遷移到Amazon MQ,帶著所有支持的應(yīng)用,而且不用重寫代碼。
Amazon MQ不需要在服務(wù)器上進(jìn)行任何安裝,華沙機(jī)房主機(jī) 荷蘭主機(jī),可以使用AWS管理控制臺、Amazon MQ REST API或者命令行接口(Command Line Interface,CLI)來動態(tài)提供服務(wù)。在Amazon MQ控制臺中,代理設(shè)置非常簡單。通過設(shè)置名稱、指定實(shí)例類型、部署方式和Web控制臺訪問憑據(jù),就可以在幾分鐘內(nèi)讓代理準(zhǔn)備就緒。
AWS的高級產(chǎn)品經(jīng)理Trevor Dyck在AWS re:Invent大會上介紹Amazon MQ消息代理托管服務(wù)時(shí),列舉了Amazon MQ的一些優(yōu)勢:
1.高可用性 Amazon MQ的代理在生產(chǎn)設(shè)置中通過可用/備份部署來保證高可用性;在兩個(gè)不同的可用區(qū)域(Availability Zone,AZ)配置了2個(gè)大型代理實(shí)例作為共享存儲地址的冗余對。
2.安全性 數(shù)據(jù)在TLS和rest請求傳輸時(shí)都進(jìn)行了加密,在消息倉庫也進(jìn)行了持久化加密。此外,Amazon MQ默認(rèn)集成了Amazon VPC,用戶可以設(shè)置安全組來進(jìn)一步保證代理免受不必要的反問。
3.豐富的通信功能 例如隊(duì)列和話題、本地和分布式事務(wù)、臨時(shí)和持久性通信,以及不限制消息大小和消息保留期限。
4.遷移便利 通過提供一個(gè)導(dǎo)入功能,可以從現(xiàn)有的ActiveMQ遷移到Amazon MQ。這個(gè)導(dǎo)入功能使用基于spring的XML文件,Amazon去除其中一些配置,例如它們將會管理的消息倉庫配置。
5.監(jiān)控能力 由于ActiveMQ缺少監(jiān)控能力,Amazon MQ與CloudWatch集成,針對代理實(shí)例、話題、隊(duì)列進(jìn)行度量和分析,提供報(bào)警并協(xié)助自動擴(kuò)展。
6.按需付費(fèi) 使用Amazon MQ提供的服務(wù)時(shí),客戶只需要為實(shí)際運(yùn)行的消息代理實(shí)例、存儲空間和標(biāo)準(zhǔn)的數(shù)據(jù)傳輸費(fèi)用付費(fèi)。這項(xiàng)服務(wù)在美國、歐洲和澳大利亞可用。更多價(jià)格相關(guān)的信息可以在查看這里。
各種供應(yīng)商和公有云提供商提供消息代理。其中一些使用集群形式的固定基礎(chǔ)設(shè)施進(jìn)行傳統(tǒng)的管理;其它供應(yīng)商以云服務(wù)的形式提供。雖然Amazon已經(jīng)為Amazon SQS和Amazon SNS消息代理的客戶構(gòu)建了云端擴(kuò)展應(yīng)用,但是對于那些現(xiàn)有的希望很便捷地遷移到云端的應(yīng)用,Amazon認(rèn)為,Amazon MQ會是一個(gè)合適的選擇。
許多前面提到的Amazon MQ擁有的優(yōu)勢,其它云端消息代理也有,directadmin安裝 directadmin漢化,例如微軟的Azure Service Bus和谷歌的Cloud Pub/Sub。但是,Amazon MQ是伴隨Amazon SQS和Amazon SNS云服務(wù)構(gòu)建的,而不僅僅是為了將一個(gè)現(xiàn)有的類ActiveMQ的消息代理遷移到云端。