Apache Synapse企業(yè)服務(wù)總線
Apache Synapse 是一個輕量級和高性能的企業(yè)服務(wù)總線(ESB)。Apache Synapse由一個快速和異步的調(diào)解引擎驅(qū)動,為XML、Web服務(wù)和REST提供了卓越的支持。除了XML和SOAP外,Apache Synapse還支持其他幾種內(nèi)容交換格式,如純文本、二進制、Hessian和JSON。Synapse可用的廣泛的傳輸適配器,使它能夠通過許多應(yīng)用和傳輸層協(xié)議進行通信。目前,Apache Synapse 支持 HTTP/S、郵件(POP3、IMAP、SMTP)、JMS、TCP、UDP、VFS、SMS、XMPP 和 FIX。
特性:
- 代理服務(wù)-促進傳輸,接口(WSDL / Schema / Policy),消息格式(SOAP 1.1 / 1.2,POX / REST,文本,二進制),QoS(WS-Addressing / WS-Security / WS-RM)和優(yōu)化切換( MTOM / SwA)
- 非阻塞HTTP / S傳輸可實現(xiàn)快速HTTP交互并支持數(shù)千個并發(fā)連接
- VFS傳輸,用于文件操作以及與FTP,SFTP,CIFS和WEBDAV的交互
- JMS支持二進制,純文本,XML和SOAP負載
- 郵件傳輸具有對POP3,IMAP和SMTP的廣泛支持
- 支持行業(yè)驅(qū)動的金融信息交換(FIX)協(xié)議
- 內(nèi)置注冊表/存儲庫,便于動態(tài)重載配置和相關(guān)資源(例如XSLT,XSD,JS等)。
- 內(nèi)置對使用Quartz Scheduler的計劃任務(wù)的支持
- 負載平衡(有或沒有粘性會話)和故障轉(zhuǎn)移路由
- 支持許多Web服務(wù)標準,包括WS-Addressing,WS-Security和WS-Reliable Messaging
- 基于策略的消息限制和緩存(特別支持集群環(huán)境)
- 郵件拆分和匯總
- 通過數(shù)據(jù)庫連接池進行數(shù)據(jù)庫查找和更新支持
- 通過序列,端點和代理服務(wù)進行細粒度統(tǒng)計收集
- JMX監(jiān)視和管理
- 可使用Java,Spring或BSF腳本語言(Javascript,Ruby,Groovy等)輕松擴展
Apache Synapse旨在實現(xiàn)輕量級且快速。非阻塞HTTP傳輸,多線程中介引擎和流XML信息集相結(jié)合,以確保Synapse可以通過服務(wù)總線以非常低的延遲和資源使用量來介導(dǎo)大量消息。Synapse還具有全面的日志記錄功能,統(tǒng)計信息收集和JMX監(jiān)視支持,這對于生產(chǎn)部署至關(guān)重要。
Synapse使用Apache Axis2作為基礎(chǔ)Web服務(wù)引擎。因此,它對Web服務(wù)和相關(guān)標準(例如SOAP和WSDL)具有出色的支持。經(jīng)過試用和測試的Axis2模塊(例如Apache Rampart和Apache Sandesha2)可與Synapse一起使用,而無需進行配置。使用此類外部模塊,Apache Synapse支持一系列Web服務(wù)標準,包括WS-Security和WS-Reliable Messaging。Synapse還利用Axis2群集框架提供企業(yè)級群集支持。
Synapse使用基于XML的簡單配置語言進行配置。配置語言和相關(guān)功能組件在設(shè)計時考慮了SOA最佳實踐。將配置片段存儲在外部SOA注冊表中,然后根據(jù)需要將其導(dǎo)入到中介引擎中,這很簡單。Synapse附帶了大量的中介程序,這些中介程序甚至可以用于實現(xiàn)最復(fù)雜的企業(yè)集成方案。如有必要,可以通過使用Java或您喜歡的腳本語言開發(fā)自定義中介程序來擴展中介引擎。
