偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

紅包復雜度總體分析

圖片圖片

紅包業(yè)務應該屬于質(zhì)量復雜度

圖片圖片

紅包高性能復雜度分析

圖片圖片

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

紅包高性能復雜度應對思路:

對照復雜度

圖片圖片

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

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

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

紅包高性能復雜度應對思路-發(fā)紅包:

圖片圖片

因為你不是新開發(fā)一個系統(tǒng),那進程模型、網(wǎng)絡模型、緩存模型基本都是跑在原有的框架之上,基本不要改,用springboot就用springboot。

存儲模型考慮點是紅包的讀寫業(yè)務還是比較復雜的,不是一個簡單的查詢模型,所以暫時用B+樹,B+樹的高度保持平衡,使查找操作效率高,在插入和刪除操作時性能相對穩(wěn)定,支持范圍查詢,因為它的葉子節(jié)點有序排列

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

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

圖片圖片

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

看紅包

圖片圖片

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

為啥 hash ?搶紅包分配在一個機器,業(yè)務會簡單,實現(xiàn)簡單不要分布式的消費

不過中間增加機器,hash的過程肯定會變。

看紅包:

圖片圖片

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

圖片圖片

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

圖片圖片

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

圖片圖片

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

圖片圖片

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

圖片圖片

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

優(yōu)化:

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

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

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

創(chuàng)新:

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

2. 彈性擴容/縮容?

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

圖片圖片

其中的變化是:去掉了RedisCluster

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

圖片圖片

【小結(jié)】

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

2018-12-18 10:11:37

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

2021-10-23 06:44:02

性能分析Profiler復雜度分析

2025-03-04 00:00:33

2024-04-25 08:33:25

算法時間復雜度空間復雜度

2024-04-16 08:19:40

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

2021-01-05 10:41:42

算法時間空間

2020-11-30 06:26:31

算法時間表示法

2009-07-09 10:45:16

C#基本概念復雜度遞歸與接口

2020-02-06 13:59:48

javascript算法復雜度

2015-11-12 09:39:28

微信紅包實現(xiàn)

2009-07-07 08:26:34

Web應用的性能

2021-04-25 14:29:02

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

2015-10-13 09:43:43

復雜度核心

2022-08-16 09:04:23

代碼圈圈復雜度節(jié)點

2019-12-24 09:46:00

Linux設置密碼

2020-12-30 09:20:27

代碼

2019-11-18 12:41:35

算法Python計算復雜性理論

2015-02-26 13:54:01

微信支付寶紅包

2022-03-02 09:53:22

計算Transforme性能

2020-06-01 08:42:11

JavaScript重構(gòu)函數(shù)
點贊
收藏

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