咕泡p6五期Java互聯(lián)網(wǎng)高級架構(gòu)
如何進(jìn)行架構(gòu)設(shè)計 —— 架構(gòu)師應(yīng)該關(guān)注什么?
可用性
??可用性是對現(xiàn)代分布式系統(tǒng)來說,當(dāng)其子系統(tǒng)有一個或幾個節(jié)點宕機的時候,是否還能繼續(xù)提供正常的服務(wù).常用的手段是集群以及自動故障轉(zhuǎn)移,幾乎所有分布式系統(tǒng)中使用的技術(shù)都支持高可用,比如緩存redis官方提供redis-cluster集群,MongoDB分片集群,消息中間件(ActiveMQ/RabbitMQ/kafka/RocketMQ)集群,數(shù)據(jù)庫MySQL集群等等,如果對以上全部都了解的童鞋,總結(jié)一下,會發(fā)現(xiàn)它們的核心思想都一樣,通過集群提供數(shù)據(jù)冗余,再通過自動發(fā)現(xiàn)并且故障轉(zhuǎn)移機制保證組件的高可用.
4.伸縮性
??伸縮性是指當(dāng)系統(tǒng)容量不夠或者多余的時候,是否能方便的進(jìn)行擴容/縮容處理,很多大公司這方面都做的很好,比較好的策略是容器化,使用docker+k8s進(jìn)行部署管理,可以方便的進(jìn)行擴容或者縮容處理,能更好的合理利用資源.
標(biāo)簽: