高并發(fā)、高可用系統(tǒng)設計原則

高并發(fā)原則

  • 無狀態(tài):應用無狀態(tài)脓魏,配置文件有狀態(tài)
  • 拆分:系統(tǒng)維度兰吟、功能維度、讀寫維度茂翔、AOP維度混蔼、模塊維度
  • 服務化:進程內服務->單機遠程服務->集群手動注冊服務->自動注冊和發(fā)現(xiàn)服務->服務分組/隔離/路由->服務治理(限流/黑名單)
  • 消息隊列:實現(xiàn)服務解耦、異步處理珊燎、流量削峰/緩沖(需要注意:處理生產消息失敗惭嚣、消息重復接收處理遵湖、生產重試;作為大流量緩沖晚吞,犧牲強一致性延旧,保證最終一致性;需要數(shù)據(jù)校對)
  • 數(shù)據(jù)異構:異構數(shù)據(jù)形成閉環(huán)槽地,數(shù)據(jù)存儲到合適的存儲引擎迁沫;聚合數(shù)據(jù),使前端通過少量調用拿到所需數(shù)據(jù)捌蚊;依賴系統(tǒng)出問題集畅,還能正常工作
  • 緩存:1、瀏覽器緩存(時效性不強的數(shù)據(jù))2缅糟、APP客戶端緩存(大促前提前下發(fā)素材到客戶端)3牡整、CDN緩存(把資源推送到離用戶最近的CDN節(jié)點)4、接入層緩存(沒有CDN緩存可以考慮使用Nginx搭建一層接入層)5溺拱、應用層緩存(在應用所在機器上部署一組Redis逃贝,直接本機讀取數(shù)據(jù),多機之間主從同步數(shù)據(jù))6迫摔、分布式緩存(數(shù)據(jù)量太多沐扳,單機存儲不了,用分片機制分散流量到多臺要句占,或用分布式緩存實現(xiàn)沪摄,常見的分片規(guī)則:一致性哈希算法)
  • 并發(fā)化

高可用原則

  • 降級:開關集中化管理,推送機制把開關推送到各個應用纱烘;可降級的多級讀服務杨拐;開關前置化;業(yè)務降級擂啥,高并發(fā)流量來襲哄陶,保障核心業(yè)務,保證數(shù)據(jù)最終一致性即可哺壶,可同步改異步屋吨,優(yōu)先處理高優(yōu)先級數(shù)據(jù)
  • 限流:惡意請求只到Cache層;對于穿透到后端的流量考慮Nginx的limit模塊山宾;對惡意IP可用Nginx deny屏蔽
  • 切流量:可用Nginx切換故障的應用層
  • 可回滾:版本化(事務回滾至扰、代碼庫回滾、部署版本回滾资锰、數(shù)據(jù)版本回滾敢课、靜態(tài)資源版本回滾)

業(yè)務設計原則

  • 防重設計:防重key、防重表、記錄重復日志后續(xù)處理
  • 冪等設計:業(yè)務系統(tǒng)重復消息消費冪等處理直秆;第三方支付異步回調冪等處理
  • 流程可定義
  • 狀態(tài)與狀態(tài)機:狀態(tài)設計有狀態(tài)軌跡·胖翰,方便追溯;并發(fā)狀態(tài)修改問題切厘;狀態(tài)變更有序問題萨咳;狀態(tài)變更消息先到后到問題
  • 系統(tǒng)后臺操作可反饋
  • 系統(tǒng)后臺審批化
  • 文檔和注釋
  • 備份:代碼庫、多版本疫稿、人員備份
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末培他,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子遗座,更是在濱河造成了極大的恐慌舀凛,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件途蒋,死亡現(xiàn)場離奇詭異猛遍,居然都是意外死亡,警方通過查閱死者的電腦和手機号坡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門懊烤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宽堆,你說我怎么就攤上這事腌紧。” “怎么了畜隶?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵壁肋,是天一觀的道長。 經常有香客問我籽慢,道長浸遗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任箱亿,我火速辦了婚禮跛锌,結果婚禮上,老公的妹妹穿的比我還像新娘极景。我一直安慰自己察净,他們只是感情好驾茴,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布盼樟。 她就那樣靜靜地躺著,像睡著了一般锈至。 火紅的嫁衣襯著肌膚如雪晨缴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天峡捡,我揣著相機與錄音击碗,去河邊找鬼筑悴。 笑死,一個胖子當著我的面吹牛稍途,可吹牛的內容都是我干的阁吝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼械拍,長吁一口氣:“原來是場噩夢啊……” “哼突勇!你這毒婦竟也來了?” 一聲冷哼從身側響起坷虑,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤甲馋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后迄损,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體定躏,經...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年芹敌,在試婚紗的時候發(fā)現(xiàn)自己被綠了痊远。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡氏捞,死狀恐怖拗引,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情幌衣,我是刑警寧澤矾削,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站豁护,受9級特大地震影響哼凯,放射性物質發(fā)生泄漏。R本人自食惡果不足惜楚里,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一断部、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧班缎,春花似錦蝴光、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沉唠,卻和暖如春疆虚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工径簿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罢屈,地道東北人。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓篇亭,卻偏偏與公主長得像缠捌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子译蒂,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354