互聯網架構演變過程

        數據庫分層  提高性能mysql

 應用分層   優化服務redis

 

 

 

Session共享
1:session複製
2:Session共享 統一存儲(把session數據放到redis sever獲取redis上的session)
3:無狀態存儲 例如:客戶端設置access_token (這個token是服務器加密後給客戶端 客戶端訪問服務器時 服務器解析token)存在安全問題spring

 

數據庫性能提高
1:讀寫分離 -> 讀多寫少的場景
2: 分庫分表 -> 歷史庫
sql

數據如何同步(mysql數據庫自帶的 -master /slave)數據庫

應用如何對數據路由 mycat /sharding-jdbcapache

 

特性問題
搜索引擎: lucence,solr,elasticsearch(商業服務)
索引 ->
全量構建 ->第一次構建瀏覽器

增量構建 - >增量同步緩存

非實時構建(異步/定時任務)安全

 


nosql存儲(非關係型數據庫)或其餘存儲方式
hbase,mongoDB,redis;...服務器

瀏覽器緩存,應用緩存,數據庫緩存,cpu緩存...

文件存儲 OSS,HDFS...

 


分佈式數據庫 (經過分表分庫實現數據庫拆分)
1:分佈式事務問題 -> 分佈式數據一致性問題
spring cloud alibaba -> fescar(seata)/RocketMQ - >分佈式事務解決方案

 

遠程調用
dubbo,thinft...

高可用方案

1:單點故障

多機房部署
基於當前用戶所在的位置去找一個最近的機房進行數據傳輸

 


監控

1:鏈路監控 zipkin。tracelID
2:硬件監控:cpu,內存,磁盤

全鏈路壓力測試,單節點壓力測試,loadrunner,jemeter,apache ad工具

 

 

SOA->微服務->serviceMesh 演變

相關文章
相關標籤/搜索