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