當前位置:編程學習大全網 - 源碼下載 - 五分鐘學GIS _ 微服務架構

五分鐘學GIS _ 微服務架構

微服務是壹種架構思想。將原有的單個業務系統拆分為多個可以獨立開發,設計,運行和運維的“小系統”。這些“小系統”之間通過服務完成交互和集成。每個”小系統”除了能處理本身的業務功能外,同時也將自身的能力朝外部發布為服務。

SOA

SOA(面向服務的架構)是壹個組件模型,它將應用程序的不同功能單元(稱為服務)的緊耦合系統,劃分為面向業務的,粗粒度,松耦合,無狀態的服務。服務發布出來後,供其他服務調用,壹組互相依賴的服務就構成了SOA架構下的系統。

微服務是 SOA 的升級版,做到更細的粒度,處理了更多的問題。

例如圖1中將所有的功能打包在壹個WAR包裏,基本沒有外部依賴(除了容器),部署在壹個JEE容器(Tomcat,JBoss,WebLogic)裏,包含了 DO/DAO,Service,UI等所有邏輯,缺點也非常明顯,部署不靈活以及擴展性不夠,但我們如果按照圖2的為方式,按照業務而不是技術來劃分組織,內部各個服務通過REST方式進行溝通,那麽可以使平臺使部署、管理和服務功能交付變得更加簡單。

如果壹句話來談SOA和微服務的區別,即微服務不再強調傳統SOA架構裏面比較重的ESB企業服務總線,同時SOA的思想進入到單個業務系統內部實現真正的組件化。

微服務與

壹般提到微服務都離不開Docker與DevOps,理解微服務架構是核心,Docker是工具,是手段。

Docker容器技術的出現,為微服務提供了更便利的條件,比如更小的部署單元,每個服務可以通過類似Node.js或Spring Boot的技術跑在自己的進程中。可能在幾十臺計算機中運行成千上萬個Docker容器,每個容器都運行著服務的壹個實例。隨時可以增加某個服務的實例數,或者某個實例崩潰後,在其他的計算機上再創建該服務的新的實例。

DevOps即開發測試和部署運維的壹體化。當我們的單體應用拆分為多個“小系統”後,雖然整體架構可以松耦合和可擴展,但是如果拆分的組件越多,這些組件之間本身的部署運維就越復雜。DevOps夠實現開發設計到部署運維的壹體化。

微服務優勢

1. 通過分解巨大單體式應用為多個服務方法解決了復雜性問題。 在功能不變的情況下,應用被分解為多個可管理的分支或服務。微服務架構模式給采用單體式編碼方式很難實現的功能提供了模塊化的解決方案,由此,單個服務很容易開發、理解和維護。

2. 這種架構使得每個服務都可以有專門開發團隊來開發。 開發者可以自由選擇開發技術,提供API服務,實現敏捷開發。

3. 微服務架構模式是每個微服務獨立的部署。 開發者不再需要協調其它服務部署對本服務的影響。這種改變可以加快部署速度。

4. 微服務架構模式使得每個服務獨立擴展。 妳可以根據每個服務的規模來部署滿足需求的規模。甚至於,妳可以使用更適合於服務資源需求的硬件。

四駕馬車

最後再談談咱們SuperMap家族中的四駕馬車(iServer、iExpress、iPortal、iCloudManager),這些產品也是借鑒了微服務設計思想,例如iCloudManager,它可以管理成千上萬的Docker容器,將每個Docker完全做到進程級別的隔離,資源占用率又很小,滿足微服務架構開發與測試以及自動化部署運維。

  • 上一篇:百度站長平臺站長工具seo綜合查詢
  • 下一篇:如何在Windowsxp中打開虛擬鍵盤?
  • copyright 2024編程學習大全網