JAVA架構的演變介紹


什么是架構

1、對系統進行有序化重構

2、分與合的過程

  橫向的(水平)  水平分表,數據分到多個表里面,比如1000w數據 ,拆分成多個小表數據

  縱向的(垂直)  列數比較多的表,拆分成多個小表存儲不通數據

  大的系統 --> 拆分成很多個子系統,模塊,組件

 

架構內容

1、技術(基礎架構組) --> 對源碼改造,更加適合開發需求

2、應用架構(面向業務層次)

3、系統架構 (運維)

 

架構師具備的能力

1、管理能力,人員協調;

2、技術實力,技術深度和技術面的認識;

3、溝通表達能力

4、抽象思維

 

架構師要做的事情

1、業務場景分析:用例圖、流程圖、時序圖

2、技術的選型(開源)

3、技術規格說明書

4、線下架構峰會,擴寬你的你的眼界

https://www.infoq.cn/

 

 

架構演進(Java演變:jsp/servle --> ssh --> spring boot --> spring cloud)

1、用戶量、業務復雜度、數據量

2、

 

 

 

 

 

 

 

 

 

 

 

 

 

1、數據庫優化,sql

2、讀寫分離,讀和寫進入到不通數據庫(mycat,shardingjdbc) 封庫分表

 

 

3、搜索引擎 Elasticsearch ,Solr,  Lucene

4、數據庫

數據庫

TIDB
PG
TDSql
OceanBase


緩存
MongoDB
Hbase
cassandra
redis
memcached


文件存儲
FASTDFS
OSS
COS

5、數據庫優化-拆分

  水平拆分  水平分表,數據分到多個表里面,比如1000w數據 ,拆分成多個小表數據

  垂直拆分  列數比較多的表,拆分成多個小表存儲不通數據

  冷熱數據庫分離,
  
帶來的問題
跨表查詢,查詢的條件不是分片鍵的時候怎么辦?

分布式事物問題?

 

6、業務的垂直化拆分 

電商服務 :  庫存,訂單,交易 服務拆分; 每一個服務都是獨立的單體架構

問題: 每個服務數據冗余

演變:把公共服務抽離出來, 庫存服務,訂單服務,交易服務

面相服務SOA: 解決信息孤島【數據不共享】、服務復用 問題 (面相服務SOA≈ 微服務架構)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM