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

微信紅包高性能架構(gòu)復(fù)雜度分析

開發(fā) 架構(gòu)
做性能分析,我們計(jì)算的都是按峰值來計(jì)算,上圖是我們得出的一些數(shù)據(jù)。軟件系統(tǒng)的性能都是用峰值TPS/QPS來衡量的,其時(shí)間單位是秒。

紅包復(fù)雜度總體分析

圖片圖片

紅包業(yè)務(wù)應(yīng)該屬于質(zhì)量復(fù)雜度

圖片圖片

紅包高性能復(fù)雜度分析

圖片圖片

做性能分析,我們計(jì)算的都是按峰值來計(jì)算,上圖是我們得出的一些數(shù)據(jù)。軟件系統(tǒng)的性能都是用峰值TPS/QPS來衡量的,其時(shí)間單位是秒。

紅包高性能復(fù)雜度應(yīng)對(duì)思路:

對(duì)照復(fù)雜度

圖片圖片

進(jìn)程模型:主從模型、生產(chǎn)者-消費(fèi)者模型、管道模型...

網(wǎng)絡(luò)模型:TCP/IP模型、五層模型、OSI模型...

緩存模型:應(yīng)用程序緩存模型、數(shù)據(jù)庫(kù)緩存模型、內(nèi)存緩存模型...

紅包高性能復(fù)雜度應(yīng)對(duì)思路-發(fā)紅包:

圖片圖片

因?yàn)槟悴皇切麻_發(fā)一個(gè)系統(tǒng),那進(jìn)程模型、網(wǎng)絡(luò)模型、緩存模型基本都是跑在原有的框架之上,基本不要改,用springboot就用springboot。

存儲(chǔ)模型考慮點(diǎn)是紅包的讀寫業(yè)務(wù)還是比較復(fù)雜的,不是一個(gè)簡(jiǎn)單的查詢模型,所以暫時(shí)用B+樹,B+樹的高度保持平衡,使查找操作效率高,在插入和刪除操作時(shí)性能相對(duì)穩(wěn)定,支持范圍查詢,因?yàn)樗娜~子節(jié)點(diǎn)有序排列

集群方面:計(jì)算高性能 發(fā)紅包是個(gè)簡(jiǎn)單的業(yè)務(wù),任務(wù)分配就行了。存儲(chǔ)方面,關(guān)系數(shù)據(jù)庫(kù)的分片存儲(chǔ) 一個(gè)數(shù)據(jù)庫(kù)支持2.5萬個(gè)紅包, 還是比較吃力的。

發(fā)紅包架構(gòu)圖:

圖片圖片

上面是一個(gè)初步的架構(gòu) 草稿紙也能畫得出來。

看紅包

圖片圖片

存儲(chǔ)不用 Redis List   用數(shù)據(jù)庫(kù)是否可以?其實(shí)也是可以,性能要關(guān)注 ,Mysql的成本比較高,同等的條件范圍下,一般來說數(shù)據(jù)庫(kù)的服務(wù)器的成本要比負(fù)責(zé)運(yùn)算的機(jī)器要高。

為啥 hash ?搶紅包分配在一個(gè)機(jī)器,業(yè)務(wù)會(huì)簡(jiǎn)單,實(shí)現(xiàn)簡(jiǎn)單不要分布式的消費(fèi)

不過中間增加機(jī)器,hash的過程肯定會(huì)變。

看紅包:

圖片圖片

看紅包架構(gòu)= 搶紅包架構(gòu)

圖片圖片

紅包高性能方案  整體架構(gòu)

圖片圖片

紅包整體架構(gòu)圖-單機(jī)房示意圖:

圖片圖片

紅包高性能方案 - 更高一級(jí)的架構(gòu)決策

圖片圖片

高性能架構(gòu)的成本優(yōu)化思路:

圖片圖片

假設(shè)現(xiàn)在紅包業(yè)務(wù)總共部署了1000臺(tái)服務(wù)器,老板覺得運(yùn)營(yíng)成本太高,希望能夠節(jié)省一些成本。

優(yōu)化:

1. 服務(wù)器改為 Go 實(shí)現(xiàn)?

2. 發(fā)紅包的時(shí)候拆分?

3. 紅包業(yè)務(wù)和其它業(yè)務(wù)共用服務(wù)器?

創(chuàng)新:

1. 開發(fā)紅包數(shù)據(jù)庫(kù)?

2. 彈性擴(kuò)容/縮容?

紅包架構(gòu) - 全部用數(shù)據(jù)庫(kù)存儲(chǔ)

圖片圖片

其中的變化是:去掉了RedisCluster

優(yōu)化方案-發(fā)紅包拆分:這還是比較投機(jī)取巧的

圖片圖片

【小結(jié)】

  1. 紅包的復(fù)雜度主要體現(xiàn)在質(zhì)量復(fù)雜度
  2. 每天1億的請(qǐng)求量不一定是高性能
  3. 將發(fā)紅包、拆紅包分為不同的服務(wù),可以提升性能
  4. 紅包業(yè)務(wù)可以作為支付業(yè)務(wù)的功能,也可以按照獨(dú)立業(yè)務(wù)來看
  5. 降本不只是主要靠提升單機(jī)處理性能
責(zé)任編輯:武曉燕 來源: 二進(jìn)制跳動(dòng)
相關(guān)推薦

2018-12-18 10:11:37

軟件復(fù)雜度軟件系統(tǒng)軟件開發(fā)

2021-10-23 06:44:02

性能分析Profiler復(fù)雜度分析

2025-03-04 00:00:33

2024-04-16 08:19:40

架構(gòu)高可用消息隊(duì)列

2024-04-25 08:33:25

算法時(shí)間復(fù)雜度空間復(fù)雜度

2021-01-05 10:41:42

算法時(shí)間空間

2020-11-30 06:26:31

算法時(shí)間表示法

2009-07-09 10:45:16

C#基本概念復(fù)雜度遞歸與接口

2021-04-25 14:29:02

數(shù)據(jù)結(jié)構(gòu)動(dòng)態(tài)數(shù)組時(shí)間復(fù)雜度

2015-11-12 09:39:28

微信紅包實(shí)現(xiàn)

2020-12-30 09:20:27

代碼

2015-10-13 09:43:43

復(fù)雜度核心

2019-12-24 09:46:00

Linux設(shè)置密碼

2022-08-16 09:04:23

代碼圈圈復(fù)雜度節(jié)點(diǎn)

2020-02-06 13:59:48

javascript算法復(fù)雜度

2009-07-07 08:26:34

Web應(yīng)用的性能

2024-04-09 07:53:04

高可用架構(gòu)擴(kuò)展性

2022-03-02 09:53:22

計(jì)算Transforme性能

2015-02-26 13:54:01

微信支付寶紅包

2014-07-01 15:49:33

數(shù)據(jù)結(jié)構(gòu)
點(diǎn)贊
收藏

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