來源:北大青鳥總部 2023年02月02日 09:20
要提供一項服務(wù)必須要有載體,線下就是我們的實體店,比如理發(fā)店提供理發(fā)服務(wù)、超市提供水果生鮮電商服務(wù),而在線上的服務(wù)也需要載體,它是一個app、app背后是代碼、代碼后面是服務(wù)器。我們試想,如果今日頭條把抖音全都部署在一個地方的一臺服務(wù)器上了,即使這臺服務(wù)器的CPU、內(nèi)存、磁盤等配置都特別特別好,使用了世界上最好的服務(wù)器,假設(shè)一個極端的場景,全世界的人都來用抖音了,那么這臺超級服務(wù)器本來只是承載中國13億人的量,現(xiàn)在變成了70億人,它還承受得住嗎?它肯定會掛掉的,帶來的結(jié)果是用戶流失、企業(yè)經(jīng)濟(jì)損失嚴(yán)重,互聯(lián)網(wǎng)內(nèi)再也玩不起來了,大家只能像吃飯要預(yù)約一樣,使用抖音也要預(yù)約了。不過人是最高級的生物物種就在于人擁有智慧,既然一臺機(jī)器不夠,那就多臺機(jī)器,把我的代碼部署在多個區(qū)域的多臺服務(wù)器上,無論來了多少人都可以使用服務(wù),這就和海底撈在全國各個區(qū)域開分店是一樣的道理。這就是分布式服務(wù)思想。
接下來我以一個購物網(wǎng)站的演變來介紹分布式服務(wù)的發(fā)展。
? 1.0階段— 單機(jī)版
在互聯(lián)網(wǎng)早期的時候,由于網(wǎng)絡(luò)費用貴、電腦貴、智能手機(jī)貴,所以并沒有很多人在使用互聯(lián)網(wǎng)的服務(wù),那時候提供購物服務(wù),只需要在一臺服務(wù)器上部署應(yīng)用程序代碼(提供用戶注冊、商品瀏覽、商品購買等)和數(shù)據(jù)庫(存儲商品信息、用戶信息、購買信息等)就可以了,讓用戶可以查看商品、購買商品。
? 2.0階段— 單機(jī)改良版
隨著移動通信技術(shù)如2g、3g技術(shù)的發(fā)展,使用網(wǎng)絡(luò)成本開始降低,加上新一代的人成長起來,更愿意接受嘗試新鮮事物,所以這會兒互聯(lián)網(wǎng)開始有大量的人陸續(xù)涌進(jìn)來了,原先只在一臺服務(wù)器上部署的應(yīng)用程序和數(shù)據(jù)庫的方式承載不住這么多人,用戶出現(xiàn)卡頓、閃退、頁面錯誤等情況,聰明的人類就把應(yīng)用程序和數(shù)據(jù)庫分開部署了,這樣的話應(yīng)用程序和數(shù)據(jù)庫都可以獨享一個服務(wù)器的cpu和內(nèi)存等資源。
? 3.0階段— 分布式版
隨著越來越多的人使用網(wǎng)上服務(wù),大家發(fā)現(xiàn)特別的方便,物美價廉,線下實體店賣的東西都太貴了,所以經(jīng)過一傳十、十傳百,海量的人都來網(wǎng)上購物了,即使將應(yīng)用程序和數(shù)據(jù)庫分別部署在不同的機(jī)器上,也不夠用了。最主要的瓶頸還是在于應(yīng)用程序方面,很多用戶刷不開頁面啊,聰明的人類又想到一個辦法,把應(yīng)用程序部署在多個服務(wù)器上,再通過負(fù)載均衡(即“指揮官”)把用戶請求分發(fā)到不同的服務(wù)器上就可以了。
? 4.0階段— 分布式升級版
海量的人來到了互聯(lián)網(wǎng)上,就產(chǎn)生了海量的需求,每個人都有每個人自己的想法,希望好玩、有求必應(yīng)等等。有的人看到互聯(lián)網(wǎng)是一個大的機(jī)會,比如京東、拼多多等公司也涌入互聯(lián)網(wǎng)了,競爭開始激烈起來,每個人都想把用戶給留在自己的平臺,大家都想著快速推出新的版本,好用好玩,把用戶給留住,即敏捷開發(fā)、快速迭代。但是之前都是把所有的功能都放在一起的啊,不同的人開發(fā)不同的模塊,最后一起提交測試上線,這存在三個問題:改起來不好改、要上線得等全部人都搞完、出現(xiàn)問題不好找。聰明的人類又又想到一個辦法,那我就把這一個應(yīng)用程序拆分的更細(xì)嘛,按照業(yè)務(wù)來拆分,A團(tuán)隊負(fù)責(zé)用戶注冊、B團(tuán)隊負(fù)責(zé)商品呈現(xiàn)服務(wù)、C團(tuán)隊負(fù)責(zé)購買服務(wù),然后不同服務(wù)部署在不同的服務(wù)器上。
? 5.0階段— 分布式精華版
現(xiàn)在差不多全世界的人都來到了互聯(lián)網(wǎng)了,互聯(lián)網(wǎng)公司抽離了這些人的共性推出了不同的產(chǎn)品,比如有的人喜歡物美價廉的商品,那就使用淘寶、有的人追求一些品質(zhì),那就使用天貓、還有的人比較小資,那就海淘。但是這三個產(chǎn)品都又有一些共性,它們的本質(zhì)都是在線購物服務(wù),都需要用戶管理中心、商品管理中心、交易管理中心,如果把這些公共的部分再抽離出來,再來一群個性化的用戶,是不是就能快速的開發(fā)應(yīng)用了呢?畢竟最核心最基礎(chǔ)的東西已經(jīng)有了,只需要再開發(fā)一些個性化的東西就可以了,這就是現(xiàn)在最流行的技術(shù)設(shè)計思想— 中臺。
通過上述的講解,是不是對分布式已經(jīng)了解了呢?分布式服務(wù)的核心就是資源復(fù)用,將原來一臺機(jī)器做的的事情分多臺機(jī)器做、原來一個應(yīng)用程序做的事情分為多個小模塊來做、拆分成了多個小模塊后再把公共的部分抽離出來單獨做,實現(xiàn)人力資源和物力資源的最大化。借助于分布式思想,再依托云計算,結(jié)合大數(shù)據(jù)、人工智能等,人們才能享受更好的服務(wù)、生活的更好~