簡體   English   中英

什么是SOA中的微服務

[英]What's exactly a microservice in SOA

我一直試圖了解一些SOA原則,並且偶然發現了描述SOA中微服務的本頁:

http://soapatterns.org/design_patterns/micro_task_abstraction

解決方案:使用微服務模型將具有特殊處理和部署需求的非不可知邏輯的各個單元分離,並抽象到微服務層中,在該微服務層中,架構自由地定制環境以支持特殊服務處理和部署需求。

這些專門的處理和部署要求到底是什么?

SOA中的微服務和任務服務之間的主要區別是什么? 因為它們在我看來都是不可知論的,並且可以與其他實體和公用事業服務組合在一起。

面向Achitecture(SOA)服務與定義的服務, 什么樣的服務是為了做設計,它們的接口 ,治理,服務生命周期,運營SLA和“使用協議”(最后這兩個導致一些非功能性需求)酒店預訂等等。

可以將微服務視為一種開發和部署方法。 如果正確定義了SOA(您的接口是干凈的,采用適當的粒度設計,松散耦合),則根據技術平台,您可以更輕松地應用微服務方法。 定義服務后,您的實現注意事項將包括基礎結構,應用程序服務器,構建和部署機制。 微服務部署模型的關鍵定義特征是,盡可能多的“堆棧”是獨立包含在單個可部署單元 (可以稱為容器 )中的。

使用Java示例,至少微服務可能是在自己的獨立JVM(捆綁的庫,應用程序/ Web服務器)中運行的一項服務或功能(暴露為Rest或SOAP),您可以將其稱為容器( 此處示例) )。 與“傳統”方法相比,您可以讓一個團隊來管理應用程序服務器,在該服務器上可以部署多個服務或功能。 主要好處是您可以避免相互沖突的依賴關系,您的環境完全在您的控制之中(有效地是幾行代碼),並且您的服務可能具有更可預測的性能,因為它不受競爭相同資源的其他服務(JVM線程,數據)的干擾資料來源)。

專用的容器管理工具(例如docker)和關聯的腳本使您可以將環境中所需的任何必需配置組合在一起。


Update 16 / Jan / 2018還請注意本段中關於SOA和微服務作為概念的區別 我將其翻譯為:人們沒有正確執行SOA,因此需要一個新的流行詞。 在一定程度上是正確的。 但是,您也可以將兩者視為互補的概念-SOA的設計更加繁重,而微服務則更注重於部署。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM