1. 程式人生 > >SpringCloud第2章:SprinCloud的微服務架構對比SSM等框架的單體架構

SpringCloud第2章:SprinCloud的微服務架構對比SSM等框架的單體架構

xl_echo編輯整理,歡迎轉載,轉載請宣告文章來源。更多IT、程式設計案例、資料請聯絡QQ:1280023003
百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!!
最新SpringCloud/SpringBoot技術資料,請加群298140694

當我們將一個系統打包時,最終只有一個war包的應用(還有jar包等其他形式),通常稱之為單體架構。單體架構服務一個war包包含多個功能,最終表現形式為一個檔案,所以我們稱之為單體應用架構。

單體架構的優缺點:

單體架構的優點:

  • 為人所熟知
  • IDE友好
  • 便於共享
  • 易於測試
  • 容易部署

單體架構的缺點:

  • 複雜度高
  • 技術債務
  • 部署頻率低
  • 擴充套件能力受限
  • 阻礙技術創新

隨著業務需求的不斷髮展,敏捷性、靈活性和可擴充套件性需求不斷增長,迫切需要一種更改快捷高校的軟體交付形式。隨之而來的就有SOA分散式服務,微服務等技術架構的出現。目前來講,微服務並沒有特別完美的解決方案。只能說經過這兩年的發展,微服務的需求不斷增大,發展的日益壯大,相信過不了多久可能就會有一套完美的解決方案出現。那麼相對應單體架構微服務又有哪一些技術優勢呢?

微服務的優點:

  • 易於開發、理解和維護
  • 比單體應用啟動快(這裡要考慮是否通過單個服務比較,還是一套微服務和一個單體服務比較。單個啟動相當快捷)
  • 區域性修改很容部署,能夠不斷繼承和持續交付
  • 故障隔離
  • 不會受限於任何技術棧(支援多種語言開發一個系統,不同的語言用在不同的功能模組即可)

微服務的缺點:

  • 運維要求較高
  • 分散式固有的複雜性
  • 介面調動成本高
  • 重複勞動

總結:
根據兩種架構的優缺點對比,我們不難看出,如果服務比較小巧的,是輕量級服務,還是用單體架構比較合適。如果服務複雜而且能夠承受一定開發成本的,那麼還是更適合使用微服務架構。其實不管選用哪種架構,面對的問題是否一樣,我們最終的目的就是為了能夠在一定的成本獲取較高的利潤。具體選用哪一種論情況而定!

相關推薦

SpringCloud2SprinCloud服務架構對比SSM框架單體架構

xl_echo編輯整理,歡迎轉載,轉載請宣告文章來源。更多IT、程式設計案例、資料請聯絡QQ:1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 最新SpringCloud/SpringBoot技術資料,請

白話SpringCloud | 服務消費者(RestTemple+Ribbon+Feign)

前言 上兩章節,介紹了下關於註冊中心-Eureka的使用及高可用的配置示例,本章節開始,來介紹下服務和服務之間如何進行服務呼叫的,同時會講解下幾種不同方式的服務呼叫。 一點知識 在SpringCloud體系中,我們知道服務之間的呼叫是通過http協議進行呼叫的。而註冊中心的主要目的就是維護這些服務的服務

白話SpringCloud | 服務容錯保護(Hystrix)

前言 前一章節,我們知道了如何利用RestTemplate+Ribbon和Feign的方式進行服務的呼叫。在微服務架構中,一個服務可能會呼叫很多的其他微服務應用,雖然做了多叢集部署,但可能還會存在諸如網路原因或者服務提供者自身處理的原因,或多或少都會出現請求失敗或者請求延遲問題,若服務提供者長期未對請求做出

SpringCloud Greenwich版本】配置中心服務端(config server)

一、SpringCloud版本 本文介紹的Springboot版本為2.1.1.RELEASE,SpringCloud版本為Greenwich.RC1,JDK版本為1.8,整合環境為IntelliJ IDEA 二、config server介紹 Spring Cloud Conf

Docker | Docker Compose服務編排介紹及使用

覆蓋 tin linu docs 使用 學習 events environ 操作系統 前言 前面章節,我們學習了如何構建自己的鏡像文件,如何保存自己的鏡像文件。大多都是一個鏡像啟動。當一個系統需要多個子系統進行配合時,若每個子系統也就是鏡像需要一個個手動啟動和停止的話,那

如何建模服務

問題 快的 left 上下文 結構 保持 減少 都是 部分 什麽好的服務? 松耦合 一個松耦合的服務應該盡可能的少知道與之協作的那些服務的信息。 如果做到了服務之間的松耦合,那麽修改一個服務就不需要修改另一個服務。 使用微服務的特定就是可以獨立的修改和部署單個服務而不需要修

2集合概覽

集合型別 定義 集合是儲存0個或多個其他物件的物件。集合擁有訪問物件、插入物件、刪除物件、確定集合大小以及遍歷或訪問集合的物件的操作 分類 根據組織方式進行 線性集合 線性集合按照位置排列其項,除了第一項

讀書筆記--《程式設計師的自我修養》2編譯和連結

一、從原始碼到可執行檔案的過程 分為4個步驟:預處理(prepressing)、編譯(compilation)、彙編(assembly)和連結(linking)。如圖所示 1、預編譯 (1)首先,原始碼檔案和相關的標頭檔案,會被預編譯器預編譯為一個.i檔案。 對於C++程式來

2Maven的安裝/2.2 Linux下的安裝

Linux下的安裝 準備安裝包:apache-maven-3.3.9-bin.tar.gz(下載地址:maven linux安裝包) 解壓到某個目錄:比如當前目錄 tar xvfz  apache-maven-3.3.9-bin.tar.gz . 在當前使

2Maven的安裝/2.1 Window下的安裝

Window下的安裝 準備安裝包:apache-maven-3.3.9.rar(下載地址:https://download.csdn.net/download/u011830122/10755690) 解壓放在任何一個目錄,比如: 配置Maven環境變數MAVEN_H

白話SpringCloud | 路由閘道器(Zuul)進階過濾器、異常處理

前言 簡單介紹了關於Zuul的一些簡單使用以及一些路由規則的簡單說明。而對於一個統一閘道器而言,需要處理各種各類的請求,對不同的url進行攔截,或者對呼叫服務的異常進行二次處理等等。今天,我們就來了解下這方面的相關知識點。   一點知識 開始實踐前,我們先來了

易學筆記-2spring中的Bean/2.6 環境引數和佔位符

第2章:spring中的Bean/2.6 環境引數和佔位符/2.6.1 環境引數/2.6.1.1 概念 概念與設定 指的是為了區分不同的環境而設定的引數,比如開發環境和生產環境   第2章:spring中的Bean/2.6 環境引數和佔

易學筆記--2spring中的Bean/2.5 Bean的週期回撥

  第2章:spring中的Bean/2.5 Bean的週期回撥/2.5.1  概念 概念   這裡的宣告週期指的是Bean在建立完成後和銷燬時這兩個時間點,對於不同的作用域這兩個時間點有所不同

易學筆記--2spring中的Bean/2.4 延遲初始化

第2章:spring中的Bean/2.4 延遲初始化/2.4.1  概念 概念 針對作用域是singleton的Bean 預設情況下Bean的建立時在spring容器的啟動階段完成的,這樣的好處是: 以後需要用到

易學筆記--2spring中的Bean/2.3 Bean的作用域

第2章:spring中的Bean/2.3 Bean的作用域/2.3.1 單例:singleton 單例:singleton 概念:指的是所建立的Bean在整個宣告週期中都是唯一的一個物件,也就是所謂的單例模式 在宣告bean的時候如果省略則預設為預設為single

2 Python語言基本語法元素

目錄 考綱考點 知識導圖 1、程式的格式框架 縮排 註釋 2、語法元素的名稱 變數 命名 保留字 3、資料型別 資料型別概述 數字型別 字串 4、程式的語句元素 表示式 賦值語句 其他語句 分支語句 迴圈語句 5、基

第一部分 基礎知識 2執行緒安全性

       要編寫執行緒安全的程式碼,其核心是對狀態訪問進行管理,特別是對共享的(Shared)、可變的(Mutable)狀態進行管理。 物件的狀態是指:儲存在狀態變數中的資料(指可影響任何外部可見行為的資料),還可能包括其他依賴物件的域。        當多個執行緒訪

白話SpringCloud | Hystrix監控面板及資料聚合(Turbine)

前言 前面一章,我們講解了如何整合Hystrix。而在實際情況下,使用了Hystrix的同時,還會對其進行實時的資料監控,反饋各類指標資料。今天我們就將講解下Hystrix Dashboard和Turbine.其中Hystrix Dashboard是一款針對Hystrix進行實時監控的工具,通過Hystri

【學習筆記】演算法導論2演算法基礎

//====================================== //Ch2_1_Basic_Sort_Algorthm //====================================== #include<iostream> #

白話SpringCloud | 分散式配置中心的使用

前言 介紹完服務的容錯保護處理,接下來我們來了解下關於分散式配置中心的相關知識和使用。眾所周知,隨著專案的越來越多,日益龐大,每個子專案都會伴隨著不同的配置項,於此也就多了很多的配置檔案。倘若某些配置資訊修改,可能就會伴隨著一系列配置檔案的更新和相應服務的重啟操作了。這對於實施而言,也是噩夢一般的存在,增加