1. 程式人生 > >系統架構_新手學習

系統架構_新手學習

 

 傳統的架構 :

  500併發  傳統的架構是所有的功能都寫在一起,可以支撐預設的200訪問量,極限是500,超過了一定數量雖然不會崩潰,

但是會丟失請求,這是開發中不允許的,結構圖如下



  以上架構存在的問題  :  功能耦合度高,學習的成本高  維護成本高,不利於升級 如果併發量大,不能解決 併發的問題......


 1000併發

  如圖,一下架構可以支撐1000的併發量

 

  缺點:系統不能水平闊咱(不能針對功能模組)  使用者登陸複雜問題  因為多個tomcat 無法session共享,

    session問題是可以解決的,這裡提供的解決方案是: 使用tomcat設定session複製,這種配置是以

session廣播的形式共享,比較消耗資源,頻寬;


    如果使用20臺電腦做叢集,當tomcat叢集中節點數量增加,服務能力先增加,後下降,所以

 叢集是不能有太多節點的,大概五個左右....

 

 分散式架構

   分散式架構就是按照功能來拆分系統模組,可以單獨為某個節點新增伺服器,分散式架構需要系統之間的

配合才能實現整個業務邏輯這就叫分散式,





     叢集 跟 分散式的區別

   叢集 : 相當於是把一份程式碼複製成了多份並部署在了伺服器上,沒臺服務能單獨執行,這叫叢集

  分散式 : 相當於是把程式碼按照功能拆分成了多份,然後分別部署在了tomcat上,多個子系統相互

協作才能完成業務流程系統之間需要進行通訊。


 

  分散式的優點:

   1.多個模組之前,需要使用介面通訊,降低了耦合,

   2.可以針對個別模組來增加服務,


           3.程式設計師只需要專注於自己的模組即可,不需要注意其它模組,學習成本降低

         4.增加功能時只要增加一個子模組就可以了

         5.可以靈活的進行分散式部署

  缺點:

  1. 多個系統之前需要互相通向,增加了程式碼

   2.各個模組的一些通用程式碼不能使用,

 

 SOA架構

   SOA:Service Oriented Architecture面向服務的架構。也就是把模組按照服務層來拆分成服務層,

 表現層,服務層只需要包含業務邏輯,而表現層只需要接收請求,分發轉向就好,業務邏輯都是呼叫服務層來實現 的,每一個工程都能獨立部署



  


 分散式架構和SOA架構區別:

  分散式跟SOA的概念有點不一樣,分散式是按照功能劃分的,而SOA是按照服務劃分的,倆者架構是可以共存的,