RPC系統(如Twitter的Finagle)和企業服務總線(如Mule)之間有什麼區別?他們每個人都擅長解決什麼樣的問題?RPC系統和企業服務總線之間的差異
回答
我會盡量回答這是一個軟的解釋,而不是功能技術故障:
有人會說Finagle是一個異步消息傳遞庫,允許服務在支持多種協議的同時自由連接(與架構系統集成標準不緊密相關)。
從Finagle網站:
欺騙是,你可以用它來建立異步遠程過程調用(RPC)客戶端和服務器在Java中,斯卡拉,或任何JVM託管語言的JVM的網絡堆棧。 Finagle提供了一套豐富的協議無關工具。
另一方面,企業服務總線(ESB)是一種異步消息傳遞架構,通常符合行業標準和協議。 ESB提倡在系統之間控制和路由消息流,並且服務器可以註冊他們的服務,客戶端可以註冊他們感興趣的消息。服務器提供的服務可以被註冊和版本化。
您通常會發現Finagle被用於網站和後端服務之間的某處。但是,您通常會在大型企業中找到一個ESB,它負責集成諸如財務,支持,銷售等系統。
這兩種解決方案都提供異步消息傳遞和緩衝到各種擴展,但並非旨在解決同樣的問題。對於ESB,你可能會認爲'嚴格,企業',但對於Finagle,你可能會認爲'靈活,網絡'。
希望這有助於
更新:
不太相關,但如果你正在探索這個空間,我想看看Kafka這些天。
兩種解決完全不同的問題:
- ESB是一箇中介的中間件,其提供消息轉換和路由,協議適配和其他增值操作(如配器,有保證的遞送,冪等過濾...) 。它位於服務消費者和提供商之間,透明地(即,消費者或提供商沒有任何改變)提供其不同的功能。
- RPC系統提供用於執行RPC操作的客戶端和服務器技術。
RPC和ESB是兩種架構模式。雖然RPC通常是一個請求 - 回覆並且本質上是同步的,但ESB的工作原理是消息傳遞(簡化解釋)和異步本質。 ESB是任何SOA實現的基礎。 ESB能夠實現鬆耦合,從而提升真正的靈活性。從實現的角度來看,一個簡單的例子如下:
Web服務是一個典型的RPC。消費者與生產者緊密聯繫,生產者方面的任何合同變化都將需要消費者方面的變化。
在ESB中,服務使用者不直接調用服務生產者。它只是把信息放在公交車上,並根據規則(中介),適當的服務生產者將處理它。如果服務使用者和服務生產者以不同的格式進行交談,ESB提供了進行轉換的工具(例如將郵政編碼格式設置爲xxxxx-xxxx,將名稱分爲名字和姓氏等)。
這只是簡單的解釋。欲瞭解更多信息,請點擊以下鏈接:
- 1. Web服務和企業服務總線之間的區別
- 2. Mule ESB和java企業應用服務器之間的差異
- 3. 企業服務總線和BPM
- 4. 企業服務總線術語
- 5. Glassfish是企業服務總線(ESB)?
- 6. TOGAF 9:企業連續和架構庫之間的差異
- 7. 服務器和本地系統之間的時間差錯
- 8. 總和和+之間的差異?
- 9. 企業服務總線和消息代理
- 10. 開源:針對服務的企業服務總線:WCF和Web API
- 11. 開始日期和系統時間之間的差異
- 12. 企業任務管理Bug系統
- 13. Axis2 web服務和CXF Web服務之間的差異
- 14. Exchange 2003 Web服務和Exchange 2007 Web服務之間的差異
- 15. 多租戶系統與服務總線
- 16. wso2企業服務總線中的WSDL端點
- 17. WSO2的開源企業服務總線(ESB)
- 18. 使用BabelWay作爲企業服務總線的替代方案?
- 19. 企業服務總線是正確的解決方案嗎?
- 20. 新公司基礎設施的企業服務/數據總線?
- 21. 企業服務總線真實世界的用法或示例
- 22. XCode的「登錄」和「系統」證書之間的差異
- 23. 用於Windows服務器的企業消息隊列系統
- 24. 真實用戶和系統用戶帳戶之間的差異
- 25. x86_64 Linux函數和系統調用之間的ABI差異
- 26. jetty-maven-plugin和jetty-runner之間的系統屬性差異
- 27. 企業架構師 - 刻板印象和類型之間的差異
- 28. SQL Server標準版和企業版2005之間的性能差異
- 29. 差異。 Web服務器和媒體服務器之間?
- 30. 用功能語言實現ESB(企業服務總線)
請您將Finagle製作成標籤,我沒有這些特權。 – Jack
確定:完成。 –