SpringCloud:系統架構之垂直應用架構

2020-12-11 HelloWorld小碼農

1.1、說明

當訪問量逐漸增大,單一應用增加機器帶來的加速度越來越小,將傳統的單體架構應用拆分成互不相干的幾個小應用,這些小應用獨立的部署到不同的伺服器上,以提升效率此時,用於加速前端頁面開發的Web框架(MVC)是關鍵。

1.2、圖示1

垂直應用架構是這樣設計的:將圖中的整個兒大應用:用戶功能、訂單功能以及商品功能拆分成一個一個的小應用,而且每個的小應用都是很完整的,比如說:用戶小應用從頁面Controller,到用戶Service、再到用戶Mapper,再到資料庫都是完整的一套小系統,同時訂單功能、商品功能也是一樣。

1.3、圖示2

假設:現在的用戶小應用的訪問量特別大,那麼我們就可以將用戶小應用多複製幾份,然後分別放置在不同的伺服器上,如下圖所示:

那麼這樣做的好處在於:

分工明確,每個小團隊負責自己的小應用,各司其職。維護方便,不會說因為修改了用戶小應用而去導致整個大應用的部署。1.4、劣勢

由於對於垂直應用來說,是一整套的小系統,包括了用戶界面。這個時候會發現:我們的界面可能會經常的發生變化,那麼導致的問題就是:即便是單單的頁面變化了,業務Service沒有發生變化,也會導致整個兒的小應用的一次部署,如果這個小應用分別部署在很多臺機器上,顯然也是非常麻煩的。而我們的期望是:界面+業務邏輯是分離的,那這樣的話,頁面的改變就不會影響到我們的業務了。隨著系統的升級,隨之而來的小應用也會越來越多,那麼這麼多的小應用不可能說是每個都完全的相互獨立,小應用與小應用之間還是需要交互的。1.5、小總結

不管怎麼說,垂直應用架構要比單一架構在系統維護升級上已經先進了一步,而每個小應用之間的交互就需要之後所介紹的分布式服務架構。

相關焦點

  • 阿里P8架構師整理總結:Spring+SpringBoot+SpringCloud技術文檔
    今天給大家介紹的內容主要包括三大部分:spring實戰(第4版)、spring boot2精髓、Spring Cloud 微服務架構進階,希望大家能夠喜歡!!!spring實戰(第4版)本文分為4部分。第1部分介紹Spring框架的核心知識。
  • 什麼是Spring Cloud項目,我把它講清楚了
    01微服務講起springcloud之前,我們需要了解一下什麼是微服務。面向服務的架構(SOA)是一個組件模型,它將應用程式的不同功能單元(稱為服務)進行拆分,並通過這些服務之間定義良好的接口和契約聯繫起來。接口是採用中立的方式進行定義的,它應該獨立於實現服務的硬體平臺、作業系統和程式語言。這使得構建在各種各樣的系統中的服務可以以一種統一和通用的方式進行交互。
  • springcloud五大組件
    首先我們來看springcloud是什麼?它是微服務架構集大成者,基於springboot構建,可以將一系列優秀組件進行完美整合。對熟悉的程式設計師來說,上手不麻煩,對新手來說,就需要了解springcloud架構再去學習。
  • Spring Cloud 和 Dubbo,到底用哪個好?
    從公司整體規劃:我不會選擇很久沒人維護的dubbo,重啟之後也未必是原班人馬從程式設計師招聘難度:招springcloud的程式設計師會更好招,因為更新更炫從系統結構簡易程序:springcloud的系統結構更簡單
  • SpringCloud:分布式微服務架構
    概念微服務是一種架構風格,它是一種將一個單一應用程式開發為一組小型服務的方法,每個服務運行在自己的進程中,服務間通信採用輕量級通信機制(通常採用http)。一系列獨立運行的微服務共同構建起整個系統。每個服務為獨立的業務開發,一個微服務只關注某個特定的功能。微服務之間通過一些輕量的通信機制進行通信,例如使用http協議,通過restful api進行調用。
  • 雲原生應用架構轉型不好做?阿里雲這個平臺讓你一步到位!
    1.存量應用與雲原生應用長期並存的整合問題雖然雲原生可以覆蓋絕大部分應用場景,甚至以往比較難解決的問題在雲原生下都可迎刃而解,如營銷場景的應用。但有些應用場景在雲原生下並無決定性優勢,且存在遷移成本,加之傳統應用在系統架構上的約束,這些將導致存量傳統應用將和雲原生應用長期並存。
  • 幾個SpringCloud常見面試題及答案
    什麼是微服務架構? 1.什麼是微服務? 單個輕量級服務一般為一個單獨微服務,微服務講究的是 專注某個功能的實現,比如登錄系統只專注於用戶登錄方面功能的實現,講究的是職責單一,開箱即用,可以獨立運行。
  • 從零搭建 Spring Cloud 服務(超詳細)
    SpringCloud官網:https://spring.io/projects/spring-cloud(個人建議是用谷歌瀏覽器訪問官網打開中文翻譯粗略把官網讀一遍)把 Spring 全家桶相關的文章整理成了 PDF,關注微信公眾號 Java後端,回復 666 下載這個技術棧手冊。
  • 基於SpringBoot Cloud構建的一個商城項目源碼分享
    基於springboot cloud構建的一個商城項目,包括前端,後端和h5應用,小程序,作為zscat應用實踐的模板項目。基於SpringBoot2.x、SpringCloud和SpringCloudAlibaba並採用前後端分離的企業級微服務敏捷開發系統架構。
  • 為什麼說應用架構需要分類思維?
    阿里妹導讀:如何定義架構?應用架構的要素有哪些?什麼是應用架構中的分類思維?開源應用架構COLA的作者張建飛介紹他在COLA架構設計中的一些思想經驗,分享他的應用架構之道。文末福利:有哪些個性有趣的域名?
  • 騰訊T7架構師至今還在鑽研的SpringBoot從構建小系統到架構大系統
    因此springboot的出現是為了解決spring多年發展帶來的弊端。在本文中,我們將介紹:系統介紹Spring Boot2的兩個主要技術:一方面是極速開發一個Web應用系統,詳細介紹Spring Boot框架、Spring MVC、視圖技術、資料庫訪問技術,並且介紹多環境部署、自動裝配、單元測試等高級特性;
  • springcloud的五大組件
    在介紹springcloud五大組件之前,先帶大家了解一下springcloud是什麼。Spring Cloud是一種最常見的分布式系統模式,為開發者提供了一種簡單並且易於接受的編程模型,幫助開發人員構建有彈性的、可靠的、協調的程序軟體,輕鬆實現微服務項目的構建,springcloud由五大組件組成!
  • SpringCloud服務間通信方式
    接下來在整個微服務架構中,我們比較關心的就是服務間的服務該如何調用,有哪些調用方式?總結:在springcloud中服務間調用方式主要是使用 http restful方式進行服務間調用1|0 1.說明spring框架提供的RestTemplate類可用於在應用中調用rest服務,它簡化了與http服務的通信方式,統一了RESTful的標準,封裝了http連結, 我們只需要傳入url及返回值類型即可。相較於之前常用的HttpClient,RestTemplate是一種更優雅的調用RESTful服務的方式。
  • IBM高級架構師結合Java多線程和Socket,帶你實戰微服務架構
    不過,受到當時計算機水平的限制,面向服務的架構思想在誕生之初,並沒有得到廣泛的關注和發展。隨著軟體系統的規模越來越大、越來越複雜,軟體系統的架構也在不斷地演進,面向服務的架構開始受到人們的關注和認可。目前,大型軟體系統的服務端架構多數都是面向服務的架構,或者正在朝這一架構遷移。
  • 深度解讀《aelf區塊鏈應用架構指南》之奧秘
    比特幣宣稱是一種「電子現金系統」,以太坊向「智能合約應用平臺」大踏步邁進,超級帳本致力於構建商用區塊鏈系統的「框架及工具」。作為核心概念,區塊鏈共識的問世是開創性的,因為這種共識對區塊鏈系統所維繫的業務價值實現了有效的技術保護。
  • 如何保證軟體應用系統架構設計結果的可擴展性和可重用性(上篇)
    軟體項目實訓及課程設計指導——如何保證軟體應用系統架構設計結果的可擴展性和可重用性(上篇)1、良好的可重用性軟體系統架構設計結果的主要體現可重用性的軟體應用系統的系統架構設計結果主要體現在如下兩個方面——本項目的系統架構設計的結果是可重用的和在本項目的系統架構設計中重用成熟的系統架構設計方案
  • 【招聘】光大銀行信用卡中心招雲平臺、安全、資料庫、架構等多個...
    雲平臺管理崗(分布式架構)職位描述:(1)負責分布式生產系統的系統級架構設計、容量規劃和規範制定,負責研究新的分布式架構發展方向和新技術;(2)負責分布式集群底層框架的維護升級,解決集群在使用過程中遇到的問題,負責系統生產環境問題的處理;(3)負責制訂分布式系統容錯機制,制訂應急預案,完成切換演練
  • 如何在系統架構設計中應用面向切面的設計思想分離橫切關注點
    作者在此更多地是從軟體系統架構設計的角度介紹如何應用面向切面的主要思想完成系統的架構設計,而不再在代碼實現層次重複地介紹面向切面編程技術。面向對象的系統架構設計方法基於對象之間存在有一定的相互關係的指導思想,對軟體應用系統進行各個層次的「封裝」和「隔離」,並產生出各個相關聯的功能模塊。
  • 從企業架構到信息化規劃,從現狀調研到架構設計的核心邏輯
    如果你本身做同一垂直行業,比如拿著某家電製造行業的規劃輸出去給另外一家做諮詢。這種場景下基本還能夠像模像樣的的輸出一個規劃報告。但是生搬硬套最大問題就在於,你即使有了輸出結果,你也無法自己詳細論證清楚這個結果如何分析得來的,即無法實現自我論證。
  • 軟體項目實訓及課程設計指導——系統設計中的系統架構設計示例
    B/S軟體體系結構有其特有的優點,但B/S軟體體系結構在企業應用系統的開發中也反映出許多的不足之處。傳統的C/S體系結構並非一無是處,而現在主流的B/S體系結構也並非十全十美。因此,C/S體系結構與B/S體系結構的應用系統還將在一定的時期內共存。