分布式時(shí)代
● 水平擴(kuò)展:服務(wù)器可以根據(jù)承載量的變化進(jìn)行擴(kuò)展。
● 負(fù)載均衡:多臺服務(wù)器進(jìn)行請求的負(fù)載伺帘,以保證忙時(shí)各服務(wù)器都忙,而不是一部分很忙忌锯,一部分很閑伪嫁。
● 高可用:一個(gè)服務(wù)器節(jié)點(diǎn)掛掉,不會影響到其他節(jié)點(diǎn)偶垮,并能快速做故障的轉(zhuǎn)移和恢復(fù)张咳。比如10臺服務(wù)器掛了2臺帝洪,不會因此影響到20%的用戶。
● 數(shù)據(jù)一致性:分布式環(huán)境下能保持?jǐn)?shù)據(jù)存儲的一致性脚猾。
億級流量平臺分層架構(gòu)
訪問層
解決流量接入問題(LVS葱峡、Nginx)
接口層
解決API網(wǎng)關(guān)處理(HTTP)
服務(wù)層
服務(wù)通信(同步調(diào)用的Dubbo,異步回傳調(diào)用的MQ)龙助,
任務(wù)調(diào)度(單體應(yīng)用的Quartz砰奕,分布式分配應(yīng)用的ElasticJob),
業(yè)務(wù)服務(wù)(業(yè)務(wù)邏輯封裝)提鸟,
基礎(chǔ)服務(wù)(隔離军援、緩存、隊(duì)列管理)称勋,
服務(wù)管理(服務(wù)配置胸哥、服務(wù)治理),
監(jiān)控(軟件層面埋點(diǎn)統(tǒng)計(jì)的Cat赡鲜、硬件資源維護(hù)管理的Zabbix)
存儲接入層
數(shù)據(jù)邏輯拆分(管理分布式存儲服務(wù)空厌,并對上層提供像MyBatis、DAO的接口的MyCat)银酬,
搜索引擎(基于分布式無中心節(jié)點(diǎn)管理方式的ES Client)嘲更,
緩存服務(wù)(類似MyCat做Redis集群支持的Redis Proxy)
存儲層
數(shù)據(jù)存儲( NoSql Database(MnogoDB、Solr_Elastic Search)捡硅,緩存(Redis哮内、Memcached)盗棵,Sql Database(Oracle壮韭、MySql))