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