大公司也是從小公司一步步走過(guò)來(lái)的,而大公司之所以與小公司不同,不在于基礎(chǔ)的技術(shù)體系不同,而是當(dāng)數(shù)據(jù)量達(dá)到一定程度后,引發(fā)的質(zhì)變而已。而在思考質(zhì)變帶來(lái)的性能問(wèn)題中,總結(jié)出來(lái)了一系列的工具,然后通過(guò)把對(duì)應(yīng)的工具集合起來(lái)后形成了對(duì)應(yīng)的運(yùn)維工具平臺(tái)。
“萬(wàn)丈高樓平地起”
有了運(yùn)維工具平臺(tái)是不是運(yùn)維能力就夠了?這句話(huà)先放在這里……
剛才已經(jīng)說(shuō)了,工具無(wú)大小,適合公司的使用即可,先拋開(kāi)大公司使用的工具,我們先來(lái)聊聊小公司日常都需要什么工具?出入公司首先解決的是網(wǎng)絡(luò)問(wèn)題,然后大家能夠上網(wǎng)后開(kāi)始解決共享存儲(chǔ)問(wèn)題,比如搭建FTP,SAMBA,NFS網(wǎng)絡(luò)存儲(chǔ),解決員工之間的文件傳送和備份,這些在Linux學(xué)習(xí)過(guò)程中都有體現(xiàn),馬哥課程中也有比較詳細(xì)的描述,比如如何搭建,此處省略不說(shuō)了。
“古樹(shù)千年幼苗成”
隨著人們?cè)黾樱厝粫?huì)出現(xiàn)公司網(wǎng)絡(luò)帶寬首先,很多時(shí)候買(mǎi)的路由器也可以去做一定的限流功能,那隨著業(yè)務(wù)的發(fā)展,公司有了自己網(wǎng)站的特色,這些特色的背后其實(shí)是公司核心的商業(yè)價(jià)值,比如網(wǎng)站的搭建,一個(gè)普通網(wǎng)站的背后究竟有什么呢?純靜態(tài)網(wǎng)站就不說(shuō)了,沒(méi)啥技術(shù)含量,我們聊聊動(dòng)態(tài)網(wǎng)站,動(dòng)態(tài)網(wǎng)站是會(huì)動(dòng)的網(wǎng)站嗎?顯然不是,他其實(shí)是存在數(shù)據(jù)交換的網(wǎng)站,那既然有數(shù)據(jù)交換,數(shù)據(jù)交換過(guò)程中有哪些東西呢?數(shù)據(jù)交換后的狀態(tài)有哪些呢?這其實(shí)就是所謂的數(shù)據(jù)對(duì)象存儲(chǔ)的問(wèn)題,比如常見(jiàn)的數(shù)據(jù)庫(kù)存儲(chǔ)軟件有MySQL,既然用到了MySQL,那他日常的維護(hù)都需要什么?舉個(gè)簡(jiǎn)單的栗子,他的部署,服務(wù)啟停,數(shù)據(jù)備份,數(shù)據(jù)庫(kù)容災(zāi),對(duì)應(yīng)時(shí)間點(diǎn)的備份,抽取binlog……,這背后的工具不用我詳細(xì)描述,相信大家都知道了,那就是基本的數(shù)據(jù)庫(kù)的維護(hù),數(shù)據(jù)庫(kù)的備份,恢復(fù),策略都有哪些呢?這塊如果你不知道請(qǐng)自行翻閱馬哥課程進(jìn)行腦補(bǔ),已經(jīng)被講爛的課題,但是有時(shí)大家必須要掌握的,好了說(shuō)外數(shù)據(jù)庫(kù)的事情,那聊聊應(yīng)用程序吧!
“盤(pán)龍臥虎高山地”
應(yīng)用程序運(yùn)行究竟是如何的?運(yùn)行環(huán)境有哪些?比如公司早期需要快速迭代,那么PHP是不二之選,畢竟PHP是世界上最好的語(yǔ)言嘛,Linux上運(yùn)行PHP環(huán)境的常見(jiàn)組合是Nginx+PHP+PHP-FPM,拋個(gè)問(wèn)題,這樣部署好后,代碼請(qǐng)求的流程是怎么樣的?php-fpm作用是什么?fastcgi又是干什么的?fastcgi被啟動(dòng)的worker用完了怎么辦?這些信息在配置中如何體現(xiàn)?如何合理的優(yōu)化?
帶著上面的思考,如果你會(huì)了我就不說(shuō)了,如果你不會(huì),請(qǐng)自行惡補(bǔ),已經(jīng)是面試被問(wèn)爛的問(wèn)題了,如果連這個(gè)都回答不上來(lái),真該回馬哥教育回爐了。
那么談到LNMP,那為啥一個(gè)請(qǐng)求通過(guò)一個(gè)LNMP就能訪(fǎng)問(wèn)到?一個(gè)請(qǐng)求又經(jīng)過(guò)哪些過(guò)程達(dá)到最終想要的結(jié)果呢?這一塊需要去了解DNS解析原理,HTTP協(xié)議請(qǐng)求,談到DNS不得不說(shuō)DNS解析方式有哪些?
DNS記錄類(lèi)型有哪些?DNS服務(wù)器的類(lèi)型有哪些?
你是否知道什么叫主服務(wù)器,輔助服務(wù)器,緩存名稱(chēng)服務(wù)器,轉(zhuǎn)發(fā)器?
那對(duì)于主輔架構(gòu)中,區(qū)域的傳送類(lèi)型有哪些?
區(qū)域類(lèi)型有哪些?什么叫子域,什么叫子域授權(quán)?
知道RNDC是干嘛的不?
以上問(wèn)題也不多,翻翻看看應(yīng)該都會(huì),當(dāng)然請(qǐng)不要告訴我你不會(huì),要不然上半年都過(guò)完了,這些姿勢(shì)還沒(méi)學(xué)會(huì)的話(huà),下半年豈能安身立命呢?
回過(guò)神來(lái),HTTP協(xié)議知道多少呢?了解什么叫跨域嗎?Nginx如何解決跨域問(wèn)題?平時(shí)見(jiàn)過(guò)不少學(xué)員一個(gè)HTTP請(qǐng)求返回個(gè)403,啥意思呀?知道幾個(gè)狀態(tài)碼呢?都表示啥意思呢?419表示啥(不是你知道的那個(gè)4-1-9)?對(duì)于HTTPS了解幾分?為啥要搞HTTPS,解決什么問(wèn)題?帶來(lái)的性能問(wèn)題有哪些?知道什么叫泛域名證書(shū)嗎?和普通的證書(shū)哪個(gè)貴?最后再問(wèn)一個(gè)最基礎(chǔ)的,HTTP協(xié)議在TCP/IP協(xié)議棧中哪個(gè)位置?那你知道TCP/IP協(xié)議棧和OSI相關(guān)的知識(shí)嗎?如果不知道,不好意思,下面你也不用讀了,你真的不可能再看懂的。
………
“大海無(wú)邊百川融”
能躺著看到這地方的說(shuō)明基礎(chǔ)還有一定水平,那好吧,接著我們倆聊聊,隨著流量增加后,你需要了解的知識(shí)有哪些?你的應(yīng)用服務(wù)器如何水平擴(kuò)展,擴(kuò)展后代碼的結(jié)構(gòu)和部署方式如何實(shí)現(xiàn)同步,如何實(shí)現(xiàn)流量的遷移,遷移的健康檢車(chē)方式有哪些?你知道的負(fù)載均衡設(shè)備有哪些?
你覺(jué)得LVS和F5哪個(gè)更適合做CDN的負(fù)載均衡?
談到LVS,那你知道LVS的模式嗎?
每個(gè)模式的特點(diǎn)有哪些?他都解決了什么場(chǎng)景下的問(wèn)題?
我感覺(jué)問(wèn)題到這里后,你已經(jīng)蒙圈了。在你還沒(méi)徹底掛的情況下,我再補(bǔ)一個(gè)問(wèn)題:LVS的負(fù)載均衡算法有哪些?他們解決的是什么問(wèn)題?
談完集群的LB類(lèi)型后,那我們倆聊聊單點(diǎn)背后我們要干的事情—永無(wú)寧日,為了讓自己吃得好,睡得香,咋整呢?高可用呀,High available
Cluster嘛,簡(jiǎn)稱(chēng)HA。常見(jiàn)的HA軟件有哪些?知道keepalived的vrrp原理嗎?常見(jiàn)高可用軟件中對(duì)資源如何管理的?腦裂是如何產(chǎn)生的又該如何應(yīng)對(duì)呢?有些東西他們本身是獨(dú)立的,但是一旦結(jié)合起來(lái)后,你會(huì)發(fā)現(xiàn)他們之間其實(shí)能產(chǎn)生很大的效果,也就是1+1 》 2的節(jié)奏,比如當(dāng)LB和HA結(jié)合起來(lái)的時(shí)候,是不是可以消除LB的單點(diǎn)問(wèn)題,也可以消除HA的負(fù)載均衡問(wèn)題,然后你也許會(huì)陷入LB的HA和HA的LB循環(huán)坑里面,不過(guò)這不重要,重要的是你是一個(gè)對(duì)架構(gòu)有追求的好孩子,難道不是嗎?
量變帶來(lái)了質(zhì)變,質(zhì)變帶來(lái)了架構(gòu)的變化,所以對(duì)于對(duì)于一個(gè)普通的電商架構(gòu)來(lái)說(shuō),上面的基礎(chǔ)設(shè)施層基本上歐了,當(dāng)然對(duì)于圖片服務(wù)器,我們可以需要加一些靜態(tài)文件服務(wù)器,或者換成服務(wù)器,比如通過(guò)Nginx和Varnish來(lái)解決靜態(tài)文件的存儲(chǔ)、緩存問(wèn)題,提高用戶(hù)端的快速響應(yīng)能力,而對(duì)于我們的數(shù)據(jù)層面我們也可以通過(guò)添加緩存來(lái)解決應(yīng)用和數(shù)據(jù)庫(kù)IO速度不匹配的問(wèn)題,大家都知道大型互聯(lián)網(wǎng)架構(gòu)中,緩存為王,那是不是所有的都需要加緩存,緩存又該如何加呢?舉個(gè)簡(jiǎn)單的栗子,大家都知道MySQL也可以加緩存,比如Memcached,那你是否聽(tīng)過(guò)MySQL的Memcache Plugins呢?為什么要把他們放到同一臺(tái)機(jī)器上,有什么特俗含義嗎?
好了,到這里我們已經(jīng)跨越到了中型互聯(lián)網(wǎng)公司的范疇了,那接下來(lái)對(duì)于大型互聯(lián)網(wǎng)公司他們都需要什么呢?舉個(gè)簡(jiǎn)單的栗子,對(duì)于業(yè)務(wù)組件來(lái)說(shuō),他們需要的是一套完整的服務(wù)管理組件,中間層,底層封裝好的api,那這些api對(duì)于業(yè)務(wù)的使用其實(shí)是透明的,他們也不需要去實(shí)現(xiàn),只需要找對(duì)應(yīng)的人去要授權(quán),然后調(diào)用即可,這就是服務(wù)化的雛形,當(dāng)然他們一樣會(huì)面臨服務(wù)負(fù)載均衡問(wèn)題,一樣會(huì)面臨消息,隊(duì)列,緩存,存儲(chǔ)問(wèn)題,當(dāng)大型互聯(lián)網(wǎng)公司在逐漸升級(jí),逐漸解決遇到的瓶頸后,他們也開(kāi)始逐漸思考如何把這種實(shí)踐帶來(lái)更多的市場(chǎng)價(jià)值,比如阿里云的誕生。我相信早期阿里云初衷是為了解決每年雙十一后過(guò)剩機(jī)器帶來(lái)的資源浪費(fèi)問(wèn)題,但是隨著這條路深入到根底發(fā)現(xiàn)他不僅僅是解決資源問(wèn)題,更是解決中國(guó)互聯(lián)網(wǎng)基礎(chǔ)設(shè)施問(wèn)題,當(dāng)然也是解決眾多創(chuàng)業(yè)小公司的效率問(wèn)題。
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68574 -
Linux
+關(guān)注
關(guān)注
87文章
11326瀏覽量
209959
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論