日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
聊聊分布式系統(tǒng)的架構(gòu)的套路

聊聊分布式系統(tǒng)的架構(gòu)的套路

作者:佚名 2018-01-23 15:55:23

云計(jì)算

分布式 大多數(shù)的開發(fā)者大多數(shù)的系統(tǒng)可能從來(lái)沒(méi)接觸過(guò)分布式系統(tǒng),也根本沒(méi)必要進(jìn)行分布式系統(tǒng)架構(gòu),為什么?因?yàn)樵谠L問(wèn)量或者QPS沒(méi)有達(dá)到單臺(tái)機(jī)器的性能瓶頸的時(shí)候,根本沒(méi)必要進(jìn)行分布式架構(gòu)。那如果業(yè)務(wù)量上來(lái)了,一般會(huì)怎么解決呢?

在神木等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè),神木網(wǎng)站建設(shè)費(fèi)用合理。

 今天小蕉跟大伙一起聊聊分布式系統(tǒng)的架構(gòu)的套路。在開始說(shuō)套路之前,大家先思考一個(gè)問(wèn)題,為什么要進(jìn)行分布式架構(gòu)?

大多數(shù)的開發(fā)者大多數(shù)的系統(tǒng)可能從來(lái)沒(méi)接觸過(guò)分布式系統(tǒng),也根本沒(méi)必要進(jìn)行分布式系統(tǒng)架構(gòu),為什么?因?yàn)樵谠L問(wèn)量或者QPS沒(méi)有達(dá)到單臺(tái)機(jī)器的性能瓶頸的時(shí)候,根本沒(méi)必要進(jìn)行分布式架構(gòu)。那如果業(yè)務(wù)量上來(lái)了,一般會(huì)怎么解決呢?

首先考慮的就是機(jī)器升級(jí)。機(jī)器配置的垂直擴(kuò)展,首先要找到當(dāng)前性能的瓶頸點(diǎn),是CPU,是內(nèi)存,是硬盤,還是帶寬。砸錢加CPU,砸錢換SSD硬盤,砸錢換1T內(nèi)存,這通常是解決問(wèn)題最直接也***效的方法。帶寬不夠?加帶寬,1G不夠用100G。CPU 8核不夠?搞32核96核。這是絕大多數(shù)公司能思考到的***個(gè)方案,也是***效最快最安全的方法,立竿見影。

其次就是系統(tǒng)拆分,將所提供服務(wù)的主流程以及支線流程梳理出來(lái),按照流程進(jìn)行系統(tǒng)拆分。如同一棵樹,核心業(yè)務(wù)作為主干流程,其他系統(tǒng)按照需要進(jìn)行拆分,如同樹的開枝散葉。所采取的方式有這么一些,按前后端進(jìn)行拆分,按照領(lǐng)域拆分,按團(tuán)隊(duì)拆分,當(dāng)然通常來(lái)說(shuō)這些拆分基本都要跟著組織架構(gòu)走。

再不行就進(jìn)行技術(shù)升級(jí),更換更加高效或者場(chǎng)景適合的技術(shù)。比如從 Oracle 更換到HBase。從A數(shù)據(jù)庫(kù)連接池更換到B數(shù)據(jù)庫(kù)連接池。技術(shù)的變革對(duì)于業(yè)務(wù)量的支持也是非常巨大的,同一臺(tái)機(jī)器不同的技術(shù),效能發(fā)揮的程度可以說(shuō)有天壤之別。

***的***手段才會(huì)考慮分布式架構(gòu),實(shí)在是砸不出這么多錢了,實(shí)在是沒(méi)辦法了。因?yàn)榉植际郊軜?gòu)肯定會(huì)帶來(lái)非常多非常多的一致性問(wèn)題,原本只需要訪問(wèn)一臺(tái)機(jī)器,現(xiàn)在需要訪問(wèn)N臺(tái),那么這N臺(tái)機(jī)器的一致性怎么保證,以前撐死搞個(gè)主從備份就算完了,定時(shí)同步一下數(shù)據(jù)就好,現(xiàn)在N臺(tái)設(shè)備的數(shù)據(jù)怎么管理,甚至這個(gè)集群本身怎么管理,都會(huì)成為一個(gè)致命的問(wèn)題。

所以只有等業(yè)務(wù)量到達(dá)一定程度了,單臺(tái)機(jī)器扛不住了,才會(huì)開始堆錢升級(jí)機(jī)器,系統(tǒng)拆分,換技術(shù),繼續(xù)堆錢升級(jí)機(jī)器,系統(tǒng)拆分...周而復(fù)始,發(fā)現(xiàn)成本太高或者技術(shù)已經(jīng)到達(dá)上線了。***沒(méi)辦法,就選擇分布式架構(gòu)了。

但是分布式架構(gòu)的優(yōu)勢(shì)也是明顯的,用一群低廉的設(shè)備,來(lái)提供一個(gè)高性能高吞吐量的穩(wěn)定的系統(tǒng),下面開始說(shuō)說(shuō)常見的分布式集群的架構(gòu)。

1、純負(fù)載均衡形式。

在集群前面,前置一個(gè)流量分發(fā)的組件進(jìn)行流量分發(fā),整個(gè)集群的機(jī)器提供無(wú)差別的服務(wù),這在常見的 web 服務(wù)器中是最最常見的。目前比較主流的方式就是整個(gè)集群機(jī)器上云,根據(jù)實(shí)時(shí)的調(diào)用量進(jìn)行云服務(wù)器彈性伸縮。常見的負(fù)載均衡有硬件層面的 F5、軟件層面的 nginx 等。

2、領(lǐng)導(dǎo)選舉型

整個(gè)集群的消息都會(huì)轉(zhuǎn)發(fā)到集群的領(lǐng)導(dǎo)這里,是一種 master-slavers,區(qū)別只是這個(gè) master 是被臨時(shí)選舉出來(lái)的,一旦 master 宕機(jī),集群會(huì)立刻選舉出一個(gè)新的領(lǐng)導(dǎo),繼續(xù)對(duì)外提供服務(wù)。使用領(lǐng)導(dǎo)選舉型架構(gòu)的典型的應(yīng)用有 ElasticSearch,zookeeper。

3、區(qū)塊鏈型

整個(gè)集群的每一個(gè)節(jié)點(diǎn)都可以進(jìn)行記錄,但是記錄的內(nèi)容要得到整個(gè)集群 N 個(gè)機(jī)器的認(rèn)可才是合法的。典型的應(yīng)用有 Bit Coin,以及 Hyperledger。

4、master-slaver型

整個(gè)集群以某臺(tái) master 為中樞,進(jìn)行集群的調(diào)度。交互是這樣,一般會(huì)把所有的管理類型的數(shù)據(jù)放到 master 上,而把具體的數(shù)據(jù)放到 slaver 上,實(shí)際進(jìn)行調(diào)用的時(shí)候,client 先調(diào)用 master 獲取數(shù)據(jù)所存放的 server 的 信息,再自行跟 slave 進(jìn)行交互。典型的系統(tǒng)有 Hadoop。集群,HBase 集群,Redis 集群等。

5、規(guī)則型一致性Hash

這種架構(gòu)類型一般出現(xiàn)在數(shù)據(jù)庫(kù)分庫(kù)分表的設(shè)計(jì)中。按照規(guī)則進(jìn)行分庫(kù)分表,在查詢之前使用規(guī)則引擎進(jìn)行庫(kù)和表的確認(rèn),再對(duì)具體的應(yīng)用進(jìn)行訪問(wèn)。為什么要用一致性 Hash ?其實(shí)用什么都可以,只是對(duì)于這類應(yīng)用來(lái)說(shuō)一致性 Hash 比較常見而已。

好了,至此,已經(jīng)把我所知道的大部分分布式集群的套路說(shuō)完了,總結(jié)一下。

1、升級(jí)機(jī)器配置是最直接的升級(jí)方式。不到萬(wàn)不得已不會(huì)使用分布式

2、分布式的核心就是業(yè)務(wù)拆分以及流量分發(fā)。

【本文為51CTO專欄作者“大蕉”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)“一名叫大蕉的程序員”獲取授權(quán)】


網(wǎng)站標(biāo)題:聊聊分布式系統(tǒng)的架構(gòu)的套路
分享地址:http://m.5511xx.com/article/cdjcpdc.html