摘要:武器工欲善其事,必先利其器,處理高并發(fā)我們當(dāng)然少不了好的武器。
前言
今天看見(jiàn)有人聊目前系統(tǒng)有2億的PV,該如何優(yōu)化?當(dāng)我看到這個(gè)話題的時(shí)候,突然在想自己工作中也遇到了不少高并發(fā)的場(chǎng)景了,所以即興發(fā)揮,在這里簡(jiǎn)單總結(jié)和分享下,歡迎指正和補(bǔ)充。
正文 讀操作關(guān)于讀,我們一般遵循如下優(yōu)先級(jí):
優(yōu)先級(jí) | 技術(shù)方案 | 說(shuō)明 | 示例 |
---|---|---|---|
最高 | 盡可能靜態(tài)化 | 對(duì)實(shí)時(shí)性要去不高的數(shù)據(jù),盡可能全走CDN | 例如獲取基礎(chǔ)商品信息 |
高 | 就近使用內(nèi)存 | 優(yōu)先級(jí)服務(wù)器內(nèi)存、遠(yuǎn)程內(nèi)存服務(wù) | 例如秒殺、搶購(gòu)庫(kù)存(優(yōu)先分配庫(kù)存到服務(wù)器內(nèi)存,其次遠(yuǎn)程內(nèi)存服務(wù)<又涉及額外網(wǎng)絡(luò)IO>) |
極低 | 數(shù)據(jù)庫(kù)(能不讀就不要讀) | 連接池、sql優(yōu)化 | 常見(jiàn)業(yè)務(wù) |
關(guān)于寫,我們一般會(huì)按照數(shù)據(jù)的一致性要求級(jí)別來(lái)看:
數(shù)據(jù)一致性要求 | 技術(shù)方案 |
---|---|
不高 | 先寫內(nèi)存(優(yōu)先級(jí)從服務(wù)器內(nèi)存到遠(yuǎn)程內(nèi)存服務(wù)) 再異步儲(chǔ)存 |
高 | 同步完成最關(guān)鍵的任務(wù) 異步保證其他任務(wù)最終成功 |
從簡(jiǎn)單到復(fù)雜:
簡(jiǎn)單程度 | 技術(shù)方案 |
---|---|
最簡(jiǎn)單 | 百分比流量拒絕(隨機(jī)、沒(méi)有先到先得不夠公平) |
簡(jiǎn)單 | 原子操作限流(優(yōu)先級(jí)使用服務(wù)器內(nèi)存、其次遠(yuǎn)程內(nèi)存服務(wù)) |
稍麻煩 | 隊(duì)列限流(先到先得,公平) |
在高并發(fā)的場(chǎng)景,有時(shí)候?yàn)榱吮WC核心業(yè)務(wù)的正常進(jìn)行,我們需要對(duì)一些次要的業(yè)務(wù)進(jìn)行服務(wù)降級(jí)。簡(jiǎn)單的降級(jí)方案如下:
配置開(kāi)關(guān)降級(jí):手動(dòng)進(jìn)行配置開(kāi)關(guān)降級(jí)
定時(shí)開(kāi)關(guān)降級(jí):自動(dòng)定時(shí)降級(jí)
系統(tǒng)架構(gòu)關(guān)于系統(tǒng)架構(gòu),不用想的太復(fù)雜,簡(jiǎn)單的拆離此業(yè)務(wù)即可。
運(yùn)維架構(gòu)部署層面,盡可能的把此類服務(wù)多帶帶部署。
武器"工欲善其事,必先利其器",處理高并發(fā)我們當(dāng)然少不了好的武器。以下是高并發(fā)“三劍客”:
技術(shù)名詞 | 說(shuō)明 |
---|---|
異步 | 異步回調(diào),層層回調(diào)似災(zāi)難(Promise也是很臃腫的鏈?zhǔn)酱a) |
epoll | IO多路復(fù)用,nginx/redis方案 |
協(xié)程 | 輕量,用戶態(tài)調(diào)度高并發(fā)能力 |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/62085.html
摘要:在中一般來(lái)說(shuō)通過(guò)來(lái)創(chuàng)建所需要的線程池,如高并發(fā)原理初探后端掘金閱前熱身為了更加形象的說(shuō)明同步異步阻塞非阻塞,我們以小明去買奶茶為例。 AbstractQueuedSynchronizer 超詳細(xì)原理解析 - 后端 - 掘金今天我們來(lái)研究學(xué)習(xí)一下AbstractQueuedSynchronizer類的相關(guān)原理,java.util.concurrent包中很多類都依賴于這個(gè)類所提供的隊(duì)列式...
摘要:在中一般來(lái)說(shuō)通過(guò)來(lái)創(chuàng)建所需要的線程池,如高并發(fā)原理初探后端掘金閱前熱身為了更加形象的說(shuō)明同步異步阻塞非阻塞,我們以小明去買奶茶為例。 AbstractQueuedSynchronizer 超詳細(xì)原理解析 - 后端 - 掘金今天我們來(lái)研究學(xué)習(xí)一下AbstractQueuedSynchronizer類的相關(guān)原理,java.util.concurrent包中很多類都依賴于這個(gè)類所提供的隊(duì)列式...
閱讀 659·2021-10-09 09:41
閱讀 640·2019-08-30 15:53
閱讀 1071·2019-08-30 15:53
閱讀 1206·2019-08-30 11:01
閱讀 1562·2019-08-29 17:31
閱讀 983·2019-08-29 14:05
閱讀 1711·2019-08-29 12:49
閱讀 409·2019-08-28 18:17