自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

同程藝龍王曉波:緩存應(yīng)該這樣治理,高并發(fā)場(chǎng)景才能游刃有余!

原創(chuàng)
網(wǎng)絡(luò)
王曉波演講中談到,在高并發(fā)場(chǎng)景下,很多人都把cache(高速緩沖存儲(chǔ)器)當(dāng)做可以“續(xù)命”的靈丹妙藥,哪里高并發(fā)壓力大,哪里就上傳cache來(lái)解決并發(fā)問(wèn)題。但有時(shí)候,即使使用了cache,卻發(fā)現(xiàn)系統(tǒng)依然卡頓宕機(jī),是因?yàn)閏ache技術(shù)不好嗎?非也,其實(shí)這是緩存的治理工作沒(méi)有做好。

【51CTO.com原創(chuàng)稿件】2018年5月18-19日,由51CTO主辦的全球軟件與運(yùn)維技術(shù)峰會(huì)在北京召開(kāi)。此次峰會(huì)圍繞人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)、區(qū)塊鏈等12大核心熱點(diǎn),匯聚海內(nèi)外60位一線專家,是一場(chǎng)高端的技術(shù)盛宴,也是***IT技術(shù)人才學(xué)習(xí)和人脈拓展不容錯(cuò)過(guò)的平臺(tái)。

  在19日下午“高并發(fā)與實(shí)時(shí)處理”分會(huì)場(chǎng),同程藝龍機(jī)票事業(yè)群CTO王曉波帶來(lái)了《高并發(fā)場(chǎng)景的緩存治理》的主題演講,針對(duì)如何讓緩存更適合高并發(fā)使用、如何正確使用緩存、如何通過(guò)治理化解緩存問(wèn)題等熱點(diǎn)展開(kāi)了闡述。會(huì)后,51CTO記者根據(jù)王曉波在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的演講內(nèi)容進(jìn)行了整理。

  王曉波演講中談到,在高并發(fā)場(chǎng)景下,很多人都把cache(高速緩沖存儲(chǔ)器)當(dāng)做可以“續(xù)命”的靈丹妙藥,哪里高并發(fā)壓力大,哪里就上傳cache來(lái)解決并發(fā)問(wèn)題。但有時(shí)候,即使使用了cache,卻發(fā)現(xiàn)系統(tǒng)依然卡頓宕機(jī),是因?yàn)閏ache技術(shù)不好嗎?非也,其實(shí)這是緩存的治理工作沒(méi)有做好。

王曉波/WOT

  看看同程“趟過(guò)的坑”

  王曉波比較系統(tǒng)地介紹了同程“趟過(guò)的坑”。

  為了緩解高并發(fā)的壓力,同程最初選擇memcache(分布式的高速緩存系統(tǒng))技術(shù),后來(lái)又轉(zhuǎn)到Redis架構(gòu)(數(shù)據(jù)結(jié)構(gòu)服務(wù)器,可用作數(shù)據(jù)庫(kù)高速緩存),部署了接近200臺(tái)服務(wù)器。但情況并沒(méi)有好轉(zhuǎn),系統(tǒng)經(jīng)常性的宕機(jī),應(yīng)用中調(diào)用的腳本亂七八糟,多實(shí)例部署資源不均衡,太脆弱數(shù)據(jù)消失了。

  為了實(shí)現(xiàn)對(duì)這些服務(wù)器的管理,同程開(kāi)啟了主從+keepalived(IT第3層、第四層、第五層交換機(jī)制的軟件)模式,并選擇從單機(jī)Redis逐漸升級(jí)到集群Redis。很快他們就發(fā)現(xiàn),當(dāng)集群大量部署的時(shí)候,運(yùn)維端沒(méi)有辦法做運(yùn)維,雖然可以通過(guò)腳本來(lái)統(tǒng)一運(yùn)行,但是集群不可控,而且很多運(yùn)維技術(shù)手段還容易導(dǎo)致高并發(fā)系統(tǒng)停機(jī),直接對(duì)整體業(yè)務(wù)端產(chǎn)生影響。“當(dāng)時(shí)系統(tǒng)隨時(shí)可能會(huì)掛,運(yùn)維團(tuán)隊(duì)快崩潰了。”王曉波回憶道。

  所有遭遇的問(wèn)題癥結(jié)在哪里?王曉波總結(jié)到,***的問(wèn)題在于技術(shù)人員對(duì)cache的使用的規(guī)范,人們常常會(huì)忘記它本身的缺點(diǎn),只想到它的好處“快”。他舉了一個(gè)例子,在一次系統(tǒng)故障總結(jié)報(bào)道里,一名技術(shù)人員寫(xiě)到,沒(méi)想到初始狀態(tài)下只有30000行的代碼的Redis,它竟然帶來(lái)如此神奇的功能。這樣的想法以至于讓程序員感覺(jué)手里拿了一個(gè)錘子,看見(jiàn)釘子就想錘。換而言之,讓他們看見(jiàn)任何的需求都想用緩存去解決。在這樣的誤導(dǎo)下,人們開(kāi)始頻繁使用基于緩存的日志搜集器、基于緩存的倒計(jì)時(shí)、基于緩存的計(jì)數(shù)器、基于緩存的訂單系統(tǒng)。這些功能出現(xiàn)之后,人們只沉醉于它的快,卻忽視了如何去保障它的正常運(yùn)行。

  緩存真正的故障是什么?王曉波歸納成四點(diǎn):一是過(guò)度依賴,這一點(diǎn)最突出,有時(shí)候明明不需要緩存,可技術(shù)人員卻非得去用緩存。二是數(shù)據(jù)落盤(pán),三是超大容量,四是緩存雪崩。為什么會(huì)出現(xiàn)這些故障呢,王曉波認(rèn)為,使用的者的亂用、濫用、懶用是***的問(wèn)題。此外,運(yùn)維數(shù)千臺(tái)毫無(wú)使用規(guī)則的緩存服務(wù)器,運(yùn)維人員不懂開(kāi)發(fā),開(kāi)發(fā)人員不懂運(yùn)維,導(dǎo)致了緩存在無(wú)設(shè)計(jì)無(wú)控制中被使用,太多的服務(wù)器資源被浪費(fèi)等都是常見(jiàn)的現(xiàn)象。

  到底人們需要一個(gè)什么樣的緩存?需要一個(gè)什么樣的緩存治理?王曉波認(rèn)為,其實(shí)從真正的開(kāi)發(fā)哲學(xué)上來(lái)說(shuō),其實(shí)人們想要的是一個(gè)“百變的魔術(shù)箱”,能夠神奇地滿足各種高并發(fā)需求。簡(jiǎn)單來(lái)說(shuō),也就是說(shuō)緩存是大是小、是好是壞,都不需要開(kāi)發(fā)者關(guān)心。因?yàn)殚_(kāi)發(fā)人員對(duì)緩存技術(shù)了解有限,最怕其胡亂使用。值得警惕的是,很多開(kāi)發(fā)人員都忽視了現(xiàn)在緩存中的許多數(shù)據(jù)并不是永遠(yuǎn)的熱數(shù)據(jù),在高并發(fā)到來(lái)前也沒(méi)有做充足的估算,導(dǎo)致在應(yīng)用時(shí)再發(fā)現(xiàn)瓶頸就晚了。

  同程“鳳凰涅槃”

  為了真正發(fā)揮出緩存的作用,應(yīng)對(duì)高并發(fā),同程技術(shù)團(tuán)隊(duì)最終開(kāi)發(fā)出phoenix方案。最初設(shè)計(jì)時(shí),他們希望這個(gè)架構(gòu)中在應(yīng)用端會(huì)有一個(gè)簡(jiǎn)單的SDK能夠讓開(kāi)發(fā)人員去使用。只要開(kāi)發(fā)人員聲明所做的項(xiàng)目和相關(guān)數(shù)據(jù)場(chǎng)景,就會(huì)得到一個(gè)key,有了這個(gè)key,SDK就會(huì)給開(kāi)發(fā)人員分配一個(gè)新的緩存?zhèn)}庫(kù),可以在上面運(yùn)行Redis,讓整個(gè)調(diào)度平臺(tái)來(lái)調(diào)用它,速度非???。除此之外,phoenix還能從客戶端調(diào)用開(kāi)始全面監(jiān)控,當(dāng)然更重要的是能防止緩存的崩塌,實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容縮容。

  后來(lái),phoenix方案又加入了代理層。因?yàn)榭蛻舳硕嗾Z(yǔ)言開(kāi)發(fā)時(shí)間成本太大,而且客戶端在應(yīng)用中的升級(jí)是個(gè)大問(wèn)題,王曉波透露,幾乎所有的嵌入式應(yīng)用的中間件升級(jí)都是一個(gè)***的麻煩,一旦升級(jí),系統(tǒng)要重新測(cè)試,很容易再度掛掉。所以通過(guò)本地緩存控制更好,部分使用頻率不高的可以使用磁盤(pán)做緩存。

  ***,phoenix方案中又加入了容器。當(dāng)實(shí)現(xiàn)容器化部署后,通過(guò)多個(gè)小集群+單節(jié)點(diǎn)、以場(chǎng)景劃分集群、實(shí)時(shí)平衡調(diào)度數(shù)據(jù),同程的整體監(jiān)控、數(shù)據(jù)遷移、伸縮調(diào)度都變得更靈活更容易操作。以數(shù)據(jù)遷移為例,同程做了整套的遷移系統(tǒng),從流量擴(kuò)容到數(shù)據(jù)的擴(kuò)容,從縱向跟橫向的擴(kuò)容,全部實(shí)現(xiàn)了一個(gè)比較好的全自動(dòng)處理。

  以上內(nèi)容是51CTO記者根據(jù)同程藝龍機(jī)票事業(yè)群CTO王曉波在WOT2018全球軟件與運(yùn)維技術(shù)峰會(huì)的采訪內(nèi)容整理,更多關(guān)于WOT的內(nèi)容請(qǐng)關(guān)注51cto.com。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

責(zé)任編輯:周雪 來(lái)源: 51CTO
相關(guān)推薦

2016-06-15 13:05:09

WhatsUp Gol

2024-06-27 08:04:39

2018-04-13 15:10:24

WOT王曉波同程旅游

2014-06-30 12:35:25

2018-07-27 10:56:10

2009-08-24 15:06:58

Mocha BSM項(xiàng)目運(yùn)維管理摩卡軟件

2011-05-30 19:59:42

云計(jì)算工商管理云服務(wù)浪潮云海戰(zhàn)略

2014-03-06 09:46:04

增強(qiáng)現(xiàn)實(shí)可穿戴設(shè)備

2019-07-21 19:00:23

運(yùn)維架構(gòu)技術(shù)

2020-09-17 12:34:54

Python文件操作

2023-12-05 08:47:30

Pandas數(shù)據(jù)處理

2015-05-27 14:06:55

攜程

2009-06-25 11:18:27

siteview EC網(wǎng)管軟件游龍科技

2024-10-09 20:42:26

match字符串函數(shù)

2020-09-18 11:20:28

Python文件代碼

2021-01-13 05:23:27

緩存數(shù)據(jù)庫(kù)高并發(fā)

2024-02-19 07:35:17

ProtobufNetty序列化

2016-11-28 09:00:10

瀏覽器瀏覽器緩存服務(wù)端

2023-08-18 10:48:38

平臺(tái)工程開(kāi)發(fā)

2025-02-28 00:03:22

高并發(fā)TPS系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)