首頁>Club>
4
回覆列表
  • 1 # 使用者8589730223698

    目前應用架構有很多,但根據服務間的關係,當今最重要的應用架構是:單體式和 N 層架構(緊密耦合)、微服務(非耦合),以及事件驅動架構和麵向服務的架構(鬆散耦合)。

    1、分層或 N 層架構

    分層或 N 層架構是一種傳統架構,通常用於構建內部和企業應用,而且常常與傳統應用相關聯。


    在分層架構中,應用由多個層(通常為 3 層,但也可以有更多層)構成,且每一層都有自己的職責。


    分層有助於管理依賴關係並執行邏輯功能。在分層架構中,層與層之間是水平排列的,因此它們只能呼叫自己下面的一層。


    每層既可以呼叫緊挨在它下面的層,也可以呼叫它下面的任何一層。


    2、單體式架構

    單體式應用(另一種與傳統系統關聯的架構型別)就是一個應用中包含所有功能的應用堆疊。無論是服務之間的互動還是開發與交付方式,都採用緊密耦合的形式。


    更新或擴充套件單體式應用的某一方面會對整個應用及其底層的基礎架構產生影響。


    對應用程式碼的任何更改都需要重新發布整個應用。因此,更新和新版本釋出通常每年只能進行一次或兩次,並且可能只包括常規維護,而不會新增新功能。

    3、微服務架構

    微服務既是一種架構,也是構建軟體的方法。在微服務中,應用被拆分成最小的元件,彼此獨立。其中的每一個元件或流程都是一個微服務。

    微服務採用分散式、鬆散耦合結構,因此它們之間不會相互影響。這對於動態可擴充套件性和容錯能力都有一定的好處:可以在不佔用大量基礎架構的情況下按需擴充套件單個服務,或者可以在不影響其他服務的情況下進行故障轉移。


    使用微服務架構的目的是更快地交付高質量的軟體。您可以並行開發多個微服務。由於服務是獨立部署的,因此在發生更改時無須重建或重新部署整個應用。

    4、事件驅動架構

    對於事件驅動系統而言,事件的捕獲、通訊、處理和持久保留是解決方案的核心結構。這和傳統的請求驅動模型有很大不同。


    事件是指系統硬體或軟體的狀態出現任何重大改變。而事件的來源可能是內部也可能是外部原因。


    事件驅動架構可以最大程度減少耦合度,因此是現代化分散式應用架構的理想之選。


    事件驅動架構可以基於釋出/訂閱模型或事件流模型。


    5、面向服務的架構


    面向服務的架構(SOA)是一種非常成熟的軟體設計模式,它有點類似於微服務架構模式。


    SOA 將應用構建為可重複使用的離散型服務,這些服務會透過企業服務匯流排(ESB)進行通訊。


    採用這種架構時,各項服務會分別圍繞特定的業務流程進行組織,遵循相應的通訊協議(如 SOAP、ActiveMQ 或 Apache Thrift),並透過 ESB 平臺來提供服務。總而言之,前端應用會利用這套透過 ESB 整合的服務為企業或客戶提供價值

  • 中秋節和大豐收的關聯?
  • 本人大一,自動化專業,我想知道工程製圖對我們來說重要嗎,為什麼?