如何正確使用 Spring Cloud? 下

2022-01-16 04:34:47 字數 1336 閱讀 8240

接下來,我們來了解一下 spring cloud 在與 devops 融合方面可以做哪些事情,它是如何讓應用持續交付更加快捷的?我們都知道,devops 打造了一套持續交付的流程,包括:開發、編譯、測試、發布、運營等節點。如何讓應用更順暢地通過上述各個節點呢?spring cloud 可以在每個研發節點上做一些配合和優化:

剛才我們已經詳細介紹了 spring cloud 在開發框架、服務整合和融合 devops 等方面的內容,接下來我們看看 spring cloud 在適配雲平台方面可以做哪些事情。通常為了讓各種雲計算技術棧對應用開發者透明,降低應用上雲的難度,我們需要適配虛擬機器、容器等不同型別的雲基礎設施。

虛擬機器是物理機的抽象,包括作業系統、記憶體和儲存等,在製作 vm 映象的時候可以按需安裝軟體,例如:web 伺服器和資料庫等,這些軟體也會出現在以該映象啟動的虛擬機器中,vm 與它所在的主機,以及主機上其他 vm 相互隔離。容器在系統中只需要**執行庫環境所需的空間即可,同乙個作業系統上的容器共享主機核心。由於實現原理不同,執行虛擬機器和容器時所需的資源也不同。虛擬機器本質上是乙個完整的計算機,比容器需要更多的資源,而容器只是作業系統的一部分。一般容器集群資源密集度較低,因此在單個伺服器上執行多容器要比在單個伺服器上執行多 vm 更適合。

那我們的應用適合部署在哪種基礎設施上呢?通常公共應用適合採用虛擬機器部署,例如:訊息佇列、註冊中心、資料庫等等,這類應用對執行資源要求比較高,本身沒有太多個元件構成;業務應用適合採用容器部署,我們可以將業務應用拆解成大量職責單一的微服務元件,每個元件對資源要求相對確定,而且在不同訪問量下需要彈性伸縮。

在單個微服務構建上,spring 已經從展示層、領域層和資料來源層給我們提供了豐富的元件,我們只需要關注業務邏輯**的編寫;在服務整合上,spring cloud 已經提供了微服務全家桶,我們只需要引用這些服務,不需要自行搭建這些公共服務;在對接 devops 和 雲基礎設施上,我們可以做一些優化和適配。在它的支援下,我們可以更加輕鬆地擁抱微服務、devops 和雲計算,更好地應對新技術挑戰。遵循分工協作的理念,spring cloud 給我們提供了一種填空式的開發模式,在這種開發模式下,我們只需要聚焦業務和使用者,從而以更快地迭代速度打磨出優秀的產品。

spring 家族變得越來越龐大,包括 spring framework、spring boot、spring cloud 等,如果我們對它沒有乙個全域性的認知,那我們很容易迷失在技術細節當中,也用不好這款產品。本文是作者參與公司微服務框架研發過程中積累的經驗認知,可以作為 spring cloud 知識體系的索引,後續可以根據它深入學習某個特性。

it老兵哥」,賦能程式人生!

如何正確使用記憶體

如何正確使用記憶體 對於初學者來說,記憶體是個神秘的空間。程式的絕大部分錯誤,也是在於記憶體的使用不當造成的,而且這些錯誤有些都是隱藏很深的。所以,如何掌握記憶體的使用,通曉系統對記憶體的管理手段,將是軟體成功的乙個非常關鍵的因素。首先我們要了解記憶體的分配方式。一般來說,記憶體的分配方式有三種 1...

如何正確使用列舉

列舉型別,對程式設計師來說再熟悉不過了,但是,你確定你在正確得使用它嗎?在用列舉之前,讓我們來區分一下狀態和選項這兩個概念。那麼,我們怎麼使用列舉來定義狀態和選項呢?不好的寫法 你可能經常見到的寫法 define status fail 0 define status success 1 用int變...

如何正確使用AOP

aop也發展了不久了,雖然在工作上也一直在用,不過畢竟沒有深入了解過,停留在概念上的理解,和使用的階段上。這篇主要講講,aop如何正確的使用它。首先需要知道,目前畢竟流行的aop框架,上篇文章也介紹了aop實現的原理,對spring這個大家庭來說,它的aop遠遠沒有這麼簡單。目前使用畢竟多的 幾種方...