真实国产老熟女无套中出,亚洲精品一区二区成人,亚洲最新中文字幕成人,又污又爽又黄的网站,亚洲中文字幕无码爆乳app

Reddit 如何統(tǒng)計每個帖子的瀏覽量,reddit如何統(tǒng)計每個帖子的瀏覽量-ESG跨境

Reddit 如何統(tǒng)計每個帖子的瀏覽量,reddit如何統(tǒng)計每個帖子的瀏覽量

來源網(wǎng)絡(luò)
來源網(wǎng)絡(luò)
2022-07-05
點贊icon 0
查看icon 1094

Reddit 如何統(tǒng)計每個帖子的瀏覽量,reddit如何統(tǒng)計每個帖子的瀏覽量Reddit如何統(tǒng)計每個帖子的瀏覽量之前沒聽說過HyperLogLog,翻譯這篇文章也就學(xué)習(xí)這么簡單。歡迎來錯~我們想更好地向用戶展示Reddit的規(guī)模。對于這一點,投票數(shù)和評論數(shù)是一個帖子最重要的指標(biāo)。然而,Reddit上相當(dāng)一部分用戶只是瀏......

Reddit 如何統(tǒng)計每個帖子的瀏覽量,reddit如何統(tǒng)計每個帖子的瀏覽量




Reddit如何統(tǒng)計每個帖子的瀏覽量

之前沒聽說過HyperLogLog,翻譯這篇文章也就學(xué)習(xí)這么簡單。歡迎來錯~

我們想更好地向用戶展示Reddit的規(guī)模。對于這一點,投票數(shù)和評論數(shù)是一個帖子最重要的指標(biāo)。然而,Reddit上相當(dāng)一部分用戶只是瀏覽內(nèi)容,既沒有投票也沒有評論。所以我們想建立一個系統(tǒng),可以計算一個帖子的瀏覽量。這個數(shù)字會顯示給帖子的創(chuàng)建者和版主,讓他們更好的了解一個帖子的活躍度。

在這篇博客中,我們將討論如何實現(xiàn)對海量數(shù)據(jù)的計數(shù)。

計算機

我們對計數(shù)系統(tǒng)有四個主要要求:

查看的帖子數(shù)量必須是實時或接近實時的,而不是每天或每小時。

同一用戶在短時間內(nèi)多次訪問一個帖子,只計一次瀏覽量。

顯示的頁面瀏覽量和真實的頁面瀏覽量之間允許有多大的百分比誤差

Reddit是全球訪問量第八大的網(wǎng)站,所以系統(tǒng)應(yīng)該能在生產(chǎn)環(huán)境的規(guī)模上正常運行,只允許有幾秒鐘的延遲。

滿足以上四個需求,遠(yuǎn)比聽起來難。為了實時準(zhǔn)確地統(tǒng)計,我們需要知道某個用戶是否曾經(jīng)訪問過這個帖子。為了了解這些信息,我們必須為每個帖子維護(hù)一個訪問用戶集合,然后在每次計算頁面瀏覽量時檢查該集合。naive的實現(xiàn)是將訪問用戶的集合存儲在內(nèi)存的hashMap中,以post Id作為鍵。

這種實現(xiàn)方式對于低流量的帖子是可行的,但是一旦某個帖子變得熱門,流量劇增時就很難控制了。甚至有些帖子的獨立訪客超過100萬對于這類帖子,存儲獨立訪問者的ID,頻繁查詢某個用戶之前是否訪問過,會對內(nèi)存和CPU造成很大的負(fù)擔(dān)。

因為我們不能提供精確的計數(shù),所以我們研究了幾種不同的基數(shù)估計算法。有兩個選項可以滿足我們的需求:

一種是線性概率計數(shù)法,這種方法非常精確,但是當(dāng)計數(shù)集變大時,所需內(nèi)存會線性變大。

第二種是基于超對數(shù)的計數(shù)方法(以下簡稱HLL)。HLL空間復(fù)雜度低,但其精度不如線性計數(shù)。

讓我們來看看HLL將節(jié)省多少內(nèi)存。如果我們需要存儲100萬獨立訪問者的ID,每個用戶ID的長度為8個字節(jié),那么我們需要8 M的內(nèi)存來存儲一個帖子的獨立訪問者。相反,如果采用HLL,內(nèi)存占用會顯著減少。HLL的不同實現(xiàn)消耗不同的內(nèi)存。如果采用本文的實現(xiàn)方法,存儲100萬個id只需要12 KB,是原來的0.15%

大數(shù)據(jù)計數(shù):如何僅用1.5 KB內(nèi)存計數(shù)十億個不同的對象——高可擴展性——本文很好地總結(jié)了上述算法。

HLL的許多實現(xiàn)結(jié)合了上述兩種算法。當(dāng)集合規(guī)模較小時,采用線性計數(shù),當(dāng)集合規(guī)模達(dá)到一定閾值時,切換到HLL。前者通常被稱為“稀疏的)HLL,而后者被稱為“稠密的)HLL。這種結(jié)合了兩種算法的實現(xiàn)具有很大的優(yōu)勢,因為它既能保證小集合的準(zhǔn)確性,又能保證大集合的準(zhǔn)確性,同時還能保證適度的內(nèi)存增長。你可以在google的這篇論文中了解到這個實現(xiàn)的細(xì)節(jié)。

論文鏈接

https://antirez.com/news/75

現(xiàn)在我們已經(jīng)決定采用HLL算法,但是在選擇具體的實現(xiàn)方式時,我們考慮了以下三種不同的實現(xiàn)方式。因為我們的數(shù)據(jù)工程團隊用的是Java和Scala,所以我們只考慮Java和Scala的實現(xiàn)。

Twitter提供的Algebird是Scala實現(xiàn)的。Algebird有很好的文檔,但是他們不容易理解稀疏和密集HLL的實現(xiàn)細(xì)節(jié)。

streamlib中提供的HyperLogLog++是用Java實現(xiàn)的。streamlib中的代碼文檔是完整的,但其中一些很難理解如何正確使用它們并轉(zhuǎn)換它們以滿足我們的需求。

Redis HLL實施,這是我們最終的選擇。我們認(rèn)為Redis中HLLs的實現(xiàn)文檔是完整的,易于配置,提供的相關(guān)API也易于集成。另一個優(yōu)勢是,我們可以部署專用服務(wù)器,從而降低性能壓力。

Reddit的數(shù)據(jù)管道依賴于卡夫卡。當(dāng)用戶訪問一個博客時,會觸發(fā)一個事件,該事件會被發(fā)國際快遞事件收集服務(wù)器,并在Kafka中持久化。

之后,計數(shù)系統(tǒng)將依次運行這兩個組件。在我們的計數(shù)系統(tǒng)架構(gòu)中,第一部分是一個Kafka消費者,我們稱之為Nazar。Nazar會從Kafka讀取每一個事件,它會通過一系列配置好的規(guī)則來判斷事件是否需要計數(shù)。我們?nèi)∵@個名字只是因為Nazar是一個眼睛形狀的護(hù)身符,而“Nazar”系統(tǒng)就像眼睛一樣,讓我們的計數(shù)系統(tǒng)遠(yuǎn)離惡意者的破壞。我們不統(tǒng)計一次事件的原因之一是同一用戶短時間內(nèi)重復(fù)訪問。Nazar將修改事件,添加一個布爾標(biāo)志,指示是否應(yīng)該計數(shù),并將事件放回Kafka。

系統(tǒng)的第二部分來了。我們稱之為第二個卡夫卡消費算盤,用于計算真實瀏覽量,并將計算結(jié)果顯示在網(wǎng)站或客戶端。Abacus從Kafka讀取Nazar處理的事件,根據(jù)Nazar的處理結(jié)果決定是跳過這個事件還是加入計數(shù)。如果在Nazar中處理的結(jié)果是您可以加入計數(shù),那么Abacus將首先檢查與該事件相關(guān)聯(lián)的帖子是否已經(jīng)在Redis中有HLL計數(shù)器。如果已經(jīng)存在,Abacus將向Redis發(fā)快遞PFADD請求。如果不存在,那么Abacus將向Cassandra cluster (Cassandra用于持久化HLL計數(shù)器和計數(shù)值)發(fā)快遞一個請求,然后向Redis發(fā)快遞一個SET請求。這通常發(fā)生在當(dāng)一個網(wǎng)民訪問一個舊帖子時,此時該帖子的計數(shù)器可能已經(jīng)在Redis中過期。

為了存儲Redis中存儲的計數(shù)器過期的舊帖子的頁面視圖。Abacus會定期將Redis中每個帖子的所有HLL和頁面瀏覽量寫入Cassandra cluster。為了避免集群過載,我們以10秒為周期批量寫入。

下圖顯示了事件流的一般流程:

摘要

我們希望瀏覽量可以讓發(fā)帖人知道帖子的所有訪問量,也可以幫助版主快速定位自己社區(qū)中訪問量高的帖子。未來,我們計劃利用我們數(shù)據(jù)管道的實時潛力,為Reddit用戶提供更多有用的反饋。


文章推薦
Shopify如何進(jìn)行店鋪設(shè)計,shopify店鋪怎么裝修得更專業(yè)
Shopee賣家產(chǎn)品上不了熱門,shopee熱門排名不見了
美國欲退出萬國郵聯(lián),美國退出萬國郵聯(lián)怎么處理
美國專線快遞單號查詢,美國專線快遞單號查詢


特別聲明:以上文章內(nèi)容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關(guān)于作品內(nèi)容、版權(quán)或其它問題請于作品發(fā)表后的30日內(nèi)與ESG跨境電商聯(lián)系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進(jìn)群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進(jìn)群
美國賣家交流群
加入
美國賣家交流群
掃碼進(jìn)群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進(jìn)群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進(jìn)群
拉美電商交流群
加入
拉美電商交流群
掃碼進(jìn)群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進(jìn)群
《韓國平臺運營干貨包》
《波蘭allegro知識百科》
《Darty知識百科》
《法國Fnac知識百科》
《PEAKS 出海經(jīng)營方法論白皮書》
2025跨境電商營銷日歷
《2024年全球消費趨勢白皮書——美國篇》
《2024TikTok出海達(dá)人營銷白皮書》
《Coupang自注冊指南》
《eMAG知識百科》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業(yè)1v1客戶經(jīng)理服務(wù)
運營實操指導(dǎo)
運營提效資源福利
平臺官方專屬優(yōu)惠
聯(lián)系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯(lián)系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部

【免費領(lǐng)取】全球跨境電商運營干貨 關(guān)閉
進(jìn)行中
進(jìn)行中
《韓國平臺運營干貨包》
包含四個韓國干貨報告:Coupang自注冊指南、GMK站內(nèi)推廣指南、韓國大促熱銷品詳細(xì)預(yù)測、韓國節(jié)日營銷全攻略
免費領(lǐng)取
進(jìn)行中
進(jìn)行中
TikTok運營必備干貨包
包含8個TikTok最新運營指南(市場趨勢、運營手冊、節(jié)日攻略等),官方出品,專業(yè)全面!
免費領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國電商節(jié)日營銷指南
10+韓國電商重要營銷節(jié)點詳細(xì)解讀;全年度各節(jié)日熱度選品助力引爆訂單增長;8大節(jié)日營銷技巧輕松撬動大促流量密碼。
免費領(lǐng)取
進(jìn)行中
進(jìn)行中
【平臺干貨】eMAG知識百科
涵蓋從開店到大賣6個板塊:開店、運營、廣告、選品、上架、物流
免費領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——全球合集
涵括全球100+個電商平臺的核心信息,包括平臺精煉簡介、競爭優(yōu)勢、熱銷品類、入駐要求以及入駐須知等關(guān)鍵內(nèi)容。
立即領(lǐng)取
進(jìn)行中
進(jìn)行中
韓國coupang平臺自注冊指南
韓國Coupang電商平臺從注冊準(zhǔn)備、提交申請到完成注冊,開店全流程詳細(xì)指引。
免費領(lǐng)取
進(jìn)行中
進(jìn)行中
2025跨境電商營銷日歷
包括傳統(tǒng)中、外重要節(jié)日及重點電商營銷節(jié)點還對營銷關(guān)鍵市場、選品輔以說明,讓你的365天安排的明明白白!
免費領(lǐng)取
進(jìn)行中
進(jìn)行中
全球平臺詳解——歐洲篇
涵蓋20+歐洲電商平臺,詳細(xì)解讀優(yōu)勢、入駐條件、熱銷品等
立即領(lǐng)取