亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 微信小程式 微信開發(fā) 微信紅包實現原理猜想

微信紅包實現原理猜想

Feb 10, 2017 pm 02:31 PM
原理 微信 紅包

以下內容來自QCon某高可用架構群聊天記錄整理背景:有某個朋友諮詢微信紅包的架構,在官方或非官方同學的解釋和討論中得出以下討論內容,在此期間有多個同學發(fā)紅包做現網演算法測試。

搶紅包過程

當有人在群組裡發(fā)了一個N人的紅包,總金額M元,後臺大概發(fā)生的事情如下:

一、發(fā)紅包後臺操作:

在數據庫中增加一條紅包記錄,儲存到CKV,設定過期時間;

在Cache(可能是騰訊內部kv資料庫,基於內存,有落地,有內核態(tài)網絡處理模組,以內核模組形式提供服務))中增加一條記錄,存儲搶紅包的人數N

二、搶紅包後臺操作:

搶紅包分為搶和拆,搶操作在Cache層完成,透過原子減操作進行紅包數遞減,到0 就表示搶光了,最終實際進入後臺拆操作的量不大,透過操作的分離將無效請求直接擋在Cache層外面。這裡的原子減操作並不是真正意義上的原子減操作,是 其Cache層提供的CAS,透過比較版本號不斷嘗試,存在一定程度上的衝突,衝突的用戶會放行,讓其進入下一步拆的操作,這也解釋了為啥有用戶搶到了拆 ? ? 開發(fā)現領完了的狀況。

拆紅包在資料庫完成,透過資料庫的事務操作累加已經領取的數量和金額,插入一條領取 ? ? 流水,入帳為非同步操作,這也解釋了為啥在春節(jié)期間紅包領取後在餘額中看不到。拆的時候會即時計算金額,其金額為1分到剩餘平均值2倍之間隨機數,一個總金 ? ? 額為M元的紅包,最大的紅包為 M * 2 /N(且不會超過M),拆了紅包後會更新剩餘金額和個數。財付通以20萬筆每秒入帳準備,實際只到8萬每秒。

FAQ

既然在搶的時候有原子減了就不應該出現搶到了拆開沒有的情況?
? ? 這裡的原子減並不是真正意義上的原子操作,是Cache層提供的CAS,透過比較版本號不斷嘗試。

cache和db掛了怎麼辦?
? ? 主備 +對帳

有沒有紅包個數沒了,但餘額還有狀況?
? ? 沒有,程式最後會有一個take all操作以及一個非同步對帳保障。

為什麼要分離搶和拆?

總思路是設定多層過濾網,層層篩選,層層減少流量和壓力。這個設計最初是因為搶操作是業(yè)務層,拆是入帳操作,一個操作太重了,中斷率高。 ? ? 從介面層面看,第一個介面純快取操作,搞壓能力強,一個簡單查詢Cache擋住了絕大部分用戶,做了第一道篩選,所以大部分人會看到已經搶完了的提示。

搶到紅包後再發(fā)紅包或是提現,這裡有什麼策略嗎?
? ? 大額優(yōu)先入帳策略

有沒有從數據上證明每個紅包的機率是不是均等?
? ? 不是絕對均等,就是一個簡單的拍腦袋演算法。

拍腦袋演算法,會不會出現兩個最佳?
? ? 會出現金額一樣的,但是手氣最佳只有一個,先搶到的那個最佳。

發(fā)紅包人的錢會不會凍結?
? ? 是直接即時扣掉,不是凍結。

採用即時算出金額是出於什麼考慮?
? ? 即時效率更高,預算才效率低。預算還要佔額外儲存。因為紅包只佔一筆記錄而且有效期限就幾天,所以不需要太多空間。就算壓力大時,水平擴展機器是。

測試二:知乎使用者「馬景銠」的實驗:

這裡給出一份100樣本的調查抽樣樣本數據,並提出自己的猜測。

1. 錢包錢數滿足截尾常態(tài)隨機數分佈。大致為在截尾常態(tài)分佈中取隨機數,並用其求和數除以總價值,得到修正因子,再用修正因子乘上所有的隨機數,得到紅包價值。

這種分佈意味著:低於平均值的紅包多,但是離平均值不遠;高於平均值的紅包少,但是遠大於平均值的紅包偏多。

微信紅包實現原理猜想

圖1. 錢包價值與其頻率分佈直方圖及其正態(tài)擬合

但看分佈直方圖並不能推出它符合正態(tài)分佈,但是考慮到程序的簡潔性和隨機數的合理性,這是最合乎情理的一種猜測。

2. 越是後面的錢包,價值普遍更高

微信紅包實現原理猜想

圖2. 錢包序列數與其價值關係曲線

從圖2的線性擬合紅線可以看到,錢包價值的整體變化趨勢是在慢慢增大,其變化範圍大約是一個綠色虛線上下界劃出的「通道」。 (曲線可以被圍在這麼一個正合乎常規(guī)的「通道」中,也從側面反映了規(guī)律1的合理性,說明了並不是均勻分佈的隨機數)

從另一個平均數的圖中也可以看出這一規(guī)律。

微信紅包實現原理猜想


圖3. 平均數隨序列數的變化曲線

在樣本中,1000價值的錢包被分成100份,均值為10。然而在圖3我們可以看到在最後一個錢包之前,平均數一直低於10,這就說明了一開始的錢包價值偏低,一直被後期的錢包價值拉著往上走,後期的錢包價值更高。

3. 當然平均數的圖還可以透露出另一個規(guī)律,那就是最後的那一個人往往容易走運抽得比較多。因為最後那一個人是錢包剩下多少就拿多少的,而之前所有人的平均數都低於10,所以至少保證了最後一個人會高於平均值。在本樣本中,98號錢包抽到35,最後一份錢包抽到46。

微信紅包實現原理猜想

綜上,根據樣本猜測:

1. 抽到的錢大多時候跟別人一樣少,但一旦一多,就容易多很多。

2. 越是抽後面的錢包,錢越容易多。

3. 最後一個人往往容易撞大運。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
抖音網頁版入口登錄鏈接地址https 抖音網頁版入口網址免費 抖音網頁版入口登錄鏈接地址https 抖音網頁版入口網址免費 May 22, 2025 pm 04:24 PM

抖音網頁版的登錄入口是https://www.douyin.com/。登錄步驟包括:1.打開瀏覽器;2.輸入網址https://www.douyin.com/;3.點擊“登錄”按鈕並選擇登錄方式;4.輸入賬號密碼;5.完成登錄。網頁版提供了瀏覽、搜索、互動、上傳視頻和個人主頁管理等功能,具有大屏幕體驗、多任務處理、便捷的賬號管理和數據統(tǒng)計等優(yōu)勢。

幣安這些c2c交易有風險嗎 幣安這些c2c交易有風險嗎 Apr 30, 2025 pm 06:54 PM

幣安C2C交易讓用戶直接買賣加密貨幣,需注意交易對手、支付和價格波動風險,選擇高信用度用戶和安全支付方式可降低風險。

拷貝漫畫(官網入口)_拷貝漫畫(nba)正版在線閱讀入口 拷貝漫畫(官網入口)_拷貝漫畫(nba)正版在線閱讀入口 Jun 05, 2025 pm 04:12 PM

拷貝漫畫無疑是一個不容錯過的寶藏。在這裡,你可以找到各種風格的籃球漫畫,從熱血勵志的競技故事,到輕鬆幽默的日常喜劇,應有盡有。無論是想重溫經典,還是想發(fā)掘新作,拷貝漫畫都能滿足你的需求。通過拷貝漫畫提供的正版在線閱讀入口,你將告別盜版資源的困擾,享受高清流暢的閱讀體驗,更能支持你喜愛的漫畫作者,為正版漫畫的發(fā)展貢獻一份力量。

uc瀏覽器與qq瀏覽器哪個好用 uc和qq瀏覽器深度對比評測 uc瀏覽器與qq瀏覽器哪個好用 uc和qq瀏覽器深度對比評測 May 22, 2025 pm 08:33 PM

選擇UC瀏覽器還是QQ瀏覽器取決於你的需求:1.UC瀏覽器適合追求快速加載和豐富娛樂功能的用戶;2.QQ瀏覽器適合需要穩(wěn)定性和與騰訊產品無縫連接的用戶。

AI寫作軟件排行榜單前十名推薦 AI寫作軟件哪些免費 AI寫作軟件排行榜單前十名推薦 AI寫作軟件哪些免費 Jun 04, 2025 pm 03:27 PM

結合 2025 年最新行業(yè)動態(tài)與多維度評測數據,以下為綜合排名前十的 AI 寫作軟件推薦,涵蓋通用創(chuàng)作、學術研究、商業(yè)營銷等主流場景,同時兼顧中文優(yōu)化與本地化服務:

奈斯漫畫官方頁面免費漫畫在線看 奈斯漫畫登錄頁面免費入口網站 奈斯漫畫官方頁面免費漫畫在線看 奈斯漫畫登錄頁面免費入口網站 Jun 12, 2025 pm 08:18 PM

奈斯漫畫,一個致力於為漫畫愛好者打造的沉浸式閱讀體驗平臺,匯聚了海量國內外優(yōu)質漫畫資源。它不僅僅是一個漫畫閱讀平臺,更是一個連接漫畫家與讀者、分享漫畫文化的社區(qū)。通過簡潔直觀的界面設計和強大的搜索功能,奈斯漫畫讓你能夠輕鬆找到心儀的作品,享受流暢舒適的閱讀體驗。告別漫長的等待和繁瑣的操作,即刻進入奈斯漫畫的世界,開啟你的漫畫之旅吧!

蛙漫 網址在線看入口 漫蛙漫畫(網頁入口)在線觀看 蛙漫 網址在線看入口 漫蛙漫畫(網頁入口)在線觀看 Jun 12, 2025 pm 08:06 PM

蛙漫漫畫,憑藉其豐富多元的漫畫資源和便捷流暢的在線閱讀體驗,已成為眾多漫畫愛好者的首選。它就像一個充滿活力的池塘,源源不斷地湧現出新鮮有趣的故事,等待著你去發(fā)現和探索。蛙漫漫畫涵蓋了各種題材,從熱血冒險到甜蜜戀愛,從奇幻科幻到懸疑推理,無論你喜歡哪種類型,都能在這裡找到心儀的作品。其簡潔直觀的界面設計,更讓你能夠輕鬆上手,快速找到想看的漫畫,沉浸在精彩紛呈的漫畫世界中。

包子漫畫(入口)_包子漫畫(新入口)2025 包子漫畫(入口)_包子漫畫(新入口)2025 Jun 05, 2025 pm 04:18 PM

在這裡,您可以盡情暢遊於浩瀚的漫畫海洋,探索各種題材和風格的作品,從熱血激昂的少年漫,到細膩動人的少女漫,從懸疑燒腦的推理漫,到輕鬆搞笑的日常漫,應有盡有,總有一款能夠觸動您的心弦。我們不僅擁有海量的正版漫畫資源,還不斷引進和更新最新的作品,確保您能夠第一時間閱讀到您喜愛的漫畫。

See all articles