它通常被記錄爲從整體構建基於微服務的架構。在基於SOA的體系結構中是否也可能具有微服務?SOA和微服務可以共存嗎?
回答
很多人都涉及到微服務爲SOA 2.0,所以如果我正確地得到你的問題,你絕對可以在一個項目中...
簡單來說,微服務是SOA的子集,使用這兩種架構。您可以參考以下9 characteristics of Microservice,他們仍然遵循SOA設計原則:
組件化通過服務
各地的業務能力,組織
產品沒有項目
智能終端和啞管道
分散治理
分散d ATA管理
基礎設施自動化
失敗的設計
進化設計
如果你指的SOA架構實現ESB,然後使用ESB並不一定會讓你的SOA標準,除非你堅持服務特點/服務設計原則服務設計&建模。因此,讓我們分離服務的ESB。從根本上講,ESB只是SOA的一些非功能性元素的實現。
選擇一個整體的應用程序是一個基本的現象開始與微服務。不過,我堅信微服務可以用於更多的業務場景。
我同意單獨使用ESB不會影響質量爲了一個好的SOA設計。但是,幾乎一致表示ESB不在MSA中使用。如果不是,爲什麼在這種情況下,MSA中的哪個組件/層可以處理xformation /協議翻譯等? – Divs
在MSA中,我們遵循「智能終端和啞管道」,其中指出,變換/協議翻譯是相應的服務責任。換句話說,轉換/翻譯也可以作爲可重用的公用事業服務。儘管MSA不建議使用ESB,但同時它不會強制刪除ESB。在創建ESB與企業系統依賴關係的邏輯和緊密耦合情況下,您始終可以將ESB視爲MSA的一部分。 –
是的,你完全可以在同一環境中的架構。這是爲什麼:
微服務架構在很大程度上受到啓發SOA,所以自然在這兩個原則的使用是非常相似的,往往有兩個之間的混淆。但是,您應該注意,這些範例在範圍範圍內不同。 微服務架構是設計以特定方式的應用程序的方法,而SOA旨在把爲了在不同域中的多個異構應用程序(通常在企業環境)之間的通信,避免由具有點 - 點通信中間件,並且通常會降低集成工作量並長期提高投資回報率。 SOA不僅僅是一種架構方法,而是提供了一種全新的方法來優化企業中的IT域。它通常需要對流程和層次結構進行更改,因爲SOA治理機構需要在某個時間到位才能理想地執行企業策略。
因此,在實踐中,你會經常看到這樣的事情 - 在相同的一般SOA許多應用程序體系結構樣式:
希望這有助於。
- 1. MVC(或MVP)可以與SOA共存嗎?
- 2. 微服務或SOA就緒架構
- 3. Windows服務可以共享主機嗎?
- 4. 我們可以在RESTful Web服務中使用SOA架構嗎?
- 5. SOA和Web服務和ESB
- 6. 在SOA架構中從另一個服務調用服務可以嗎?
- 7. 服務可發現在SOA
- 8. 微服務/ SOA中服務間通信的首選方法
- 9. php5可以和php4共存嗎?
- 10. @Autowired和default-autowire可以共存嗎?
- 11. HTTP multipart和chunking可以共存嗎?
- 12. spring-saml和UserDetailsService可以共存嗎?
- 13. Silverlight和HTML5 ......它們可以共存嗎?
- 14. Android:GCM和Tabhost可以共存嗎?
- 15. 可以jmockit和robolectric共存嗎?
- 16. SOA和WCF數據服務
- 17. Zend Server可以共存嗎?
- 18. Windows服務和IIS站點可以共享相同的dll嗎?
- 19. 微服務共享代碼
- 20. 幾個WCF服務可以共享一個公共BaseAddress嗎?
- 21. SOA主要是一堆Web服務嗎?
- 22. SOA服務狀態
- 23. SOA服務測試
- 24. 服務可以實現MediaPlayer.OnPreparedListener和MediaController.MediaPlayerControl嗎?
- 25. SOA可以應用HATEOAS原理嗎?
- 26. 可以將微服務應用於JS的前端嗎?
- 27. 微軟認知服務可以在Firebase中使用嗎?
- 28. SOA:圖書館vs服務:圖書館可以是更好的選擇嗎?
- 29. SOA主體 - 服務應該調用另一個服務嗎?
- 30. 我需要微服務嗎?
SOA中的ESB用於根據需要執行協議轉換/ req-resp轉換。由於微服務通常被視爲智能端點啞管,我們可以在微服務架構中處理這些情況? Netflix在其API網關中執行協議轉換,但它是否遵循SEDP原則? – Divs
SOA和微服務中的重要原則是減少耦合,並避免狀態更改的同步通信,因爲該方面的消息傳遞可以幫助實現異步持久通信......您使用哪些工具並不是真正的意義......有意義嗎? –
我想了解MSA中的哪個組件可以用來處理req/resp轉換。根據Web上的大多數文章,它是API網關層,而不是ESB。就在這種情況下,有人正在使用此層在MSA中執行相同的操作,他們是否違反SEDP原則? – Divs