精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

得物增長(zhǎng)兌換商城的架構(gòu)演進(jìn)

開(kāi)發(fā) 架構(gòu)
本文講述了增長(zhǎng)兌換商城整體的業(yè)務(wù)框架及部分功能的實(shí)現(xiàn)細(xì)節(jié)。兌換商城作為一個(gè)中臺(tái),承接了不同上下游提出的需求,很多功能的實(shí)現(xiàn)都需要考慮到通用性及拓展性,而一些復(fù)雜需求或功能的實(shí)現(xiàn),是否會(huì)加重配置的難度,影響后續(xù)業(yè)務(wù)方的接入成本,都是需要在項(xiàng)目迭代中不斷思考的問(wèn)題。

一、簡(jiǎn)介

二、誕生背景

三、業(yè)務(wù)架構(gòu)

    1. 業(yè)務(wù)架構(gòu)圖

    2. 業(yè)務(wù)架構(gòu)概述

四、玩法迭代

    1. 整體玩法總覽

    2. RPC調(diào)用迭代

    3. 庫(kù)存設(shè)計(jì)迭代

    4. 獎(jiǎng)品橫向迭代

    5. 兌換防刷迭代

    6. 項(xiàng)目穩(wěn)定性建設(shè)

五、更多拓展

    1. 抽獎(jiǎng)組件搭建器

    2. 引入增長(zhǎng)的任務(wù)中臺(tái)

    3. 打造簡(jiǎn)易的積分系統(tǒng)

六、總結(jié)

一、簡(jiǎn)介

在移動(dòng)互聯(lián)網(wǎng)蓬勃發(fā)展的今天,用戶的選擇日益多元化,App市場(chǎng)的競(jìng)爭(zhēng)也愈發(fā)白熱化。為了在激烈的市場(chǎng)競(jìng)爭(zhēng)中脫穎而出,提升用戶獲取效率并增強(qiáng)用戶粘性,越來(lái)越多的應(yīng)用開(kāi)始采用積分兌換、抽獎(jiǎng)等互動(dòng)玩法。這些精心設(shè)計(jì)的運(yùn)營(yíng)策略不僅能夠滿足用戶的參與感和成就感需求,更能有效促進(jìn)社交傳播,提升品牌忠誠(chéng)度。通過(guò)持續(xù)優(yōu)化和迭代,開(kāi)發(fā)者能夠在競(jìng)爭(zhēng)激烈的市場(chǎng)中占據(jù)優(yōu)勢(shì)地位,實(shí)現(xiàn)用戶的可持續(xù)增長(zhǎng)和長(zhǎng)期留存。

基于提升系統(tǒng)復(fù)用性和穩(wěn)定性的考量,我們構(gòu)建了一個(gè)統(tǒng)一的兌換商城中臺(tái)系統(tǒng)。該中臺(tái)旨在為各上游業(yè)務(wù)線提供標(biāo)準(zhǔn)化的積分兌換和獎(jiǎng)勵(lì)機(jī)制,使各類應(yīng)用和服務(wù)能夠快速接入并享受便捷的服務(wù)支持。通過(guò)這一中臺(tái)架構(gòu),我們不僅實(shí)現(xiàn)了核心業(yè)務(wù)邏輯的集中化管理與維護(hù),更為后續(xù)的功能擴(kuò)展(如抽獎(jiǎng)、彩票等多樣化玩法)奠定了堅(jiān)實(shí)基礎(chǔ),從而顯著提升了開(kāi)發(fā)效率和用戶體驗(yàn)。

二、誕生背景

在用戶增長(zhǎng)和留存策略的探索中,增長(zhǎng)團(tuán)隊(duì)先后推出了多種互動(dòng)類玩法,如每日簽到、星愿森林、心愿海洋以及早期的點(diǎn)鞋成金等。這些玩法通過(guò)積分或虛擬貨幣的積累,不僅增強(qiáng)了用戶的參與感,也為用戶提供了豐富的獎(jiǎng)勵(lì)機(jī)制。然而,隨著玩法的多樣化,如何高效管理這些積分或貨幣的消耗途徑,成為提升用戶體驗(yàn)和趣味性的關(guān)鍵。

每日簽到每日簽到

星愿森林星愿森林

心愿海洋心愿海洋

點(diǎn)鞋成金點(diǎn)鞋成金

兌換專區(qū)兌換專區(qū)

兌換專區(qū)兌換專區(qū)

兌換專區(qū)兌換專區(qū)

兌換專區(qū)兌換專區(qū)


面對(duì)這一挑戰(zhàn),團(tuán)隊(duì)意識(shí)到為每個(gè)互動(dòng)玩法單獨(dú)開(kāi)發(fā)兌換功能不僅需要前后端的全面支持,還需重復(fù)搭建復(fù)雜的監(jiān)控和預(yù)警系統(tǒng)以防范潛在的資損風(fēng)險(xiǎn)。這種重復(fù)開(kāi)發(fā)的模式不僅成本高昂,而且難以保證系統(tǒng)的一致性和穩(wěn)定性。因此,構(gòu)建一個(gè)統(tǒng)一的積分商城,為各互動(dòng)玩法提供通用化的兌換系統(tǒng),成為了提升開(kāi)發(fā)效率和確保系統(tǒng)安全性的必然選擇。這樣不僅優(yōu)化了資源配置,也為后續(xù)的玩法擴(kuò)展和用戶體驗(yàn)升級(jí)奠定了堅(jiān)實(shí)的基礎(chǔ)。

在既有兌換業(yè)務(wù)的基礎(chǔ)上,我們也成功沉淀并提煉了多個(gè)核心領(lǐng)域模型。后續(xù)基于這些通用化的領(lǐng)域模型,我們逐步探索并實(shí)現(xiàn)了多種新型玩法的快速落地,包括老虎機(jī)、盲盒以及抽獎(jiǎng)券等多樣化互動(dòng)形式。

三、業(yè)務(wù)架構(gòu)業(yè)務(wù)

架構(gòu)圖

圖片圖片

業(yè)務(wù)架構(gòu)概述

業(yè)務(wù)架構(gòu)主要分4級(jí):

  • 上層業(yè)務(wù)? 主要是有使用兌換商城功能的上游應(yīng)用,包括星愿森林、每日簽到、心愿海洋、增長(zhǎng)新客、社區(qū)抽獎(jiǎng)、學(xué)生答題等應(yīng)用。
  • 玩法沉淀? 主要包括三類玩法,包括積分兌換、老虎機(jī)/盲盒,以及抽獎(jiǎng)券等。玩法核心所依賴的領(lǐng)域模型基本相似,各個(gè)系統(tǒng)都能得到了很好的復(fù)用。而在玩法層面,我們主要使用了設(shè)計(jì)模式中的模板模式,優(yōu)先搭建好每個(gè)玩法的骨架,然后將一些關(guān)鍵步驟交由上游應(yīng)用自定義實(shí)現(xiàn)。
  • 領(lǐng)域模型? 活動(dòng):對(duì)應(yīng)每個(gè)新接入的應(yīng)用都需要新建一個(gè)活動(dòng)模型,而各類自定義的業(yè)務(wù)層面的邏輯都是在活動(dòng)維度上實(shí)現(xiàn)的。? 模板:模板作為上下關(guān)系的重要承接,一個(gè)活動(dòng)能夠創(chuàng)建多個(gè)模板,而每個(gè)模板下又可以關(guān)聯(lián)多個(gè)獎(jiǎng)品。之所以存在模板這個(gè)中間層,是有多個(gè)原因的。    ? 原因1:模板和活動(dòng)之間的關(guān)系,我們可以以星愿森林為例,一個(gè)活動(dòng)他是存在多個(gè)兌換專區(qū)的,包含了合種專區(qū)、超值專區(qū)等,這些是需要通過(guò)模板維度來(lái)劃分的。   ? 原因2:模板和獎(jiǎng)品之間的關(guān)系,獎(jiǎng)品需要關(guān)聯(lián)到不同的資產(chǎn),創(chuàng)建一個(gè)獎(jiǎng)品的成本較高。而將獎(jiǎng)品設(shè)計(jì)成可以被綁定到多個(gè)模板上,獎(jiǎng)品這個(gè)資產(chǎn)就可以得到一個(gè)很好的復(fù)用。同時(shí)每個(gè)模板中該獎(jiǎng)品有其獨(dú)立的庫(kù)存模塊,那么模板之間就不會(huì)互相影響了。   ? ...? 獎(jiǎng)品:后臺(tái)不同類型的獎(jiǎng)品統(tǒng)一都需要在獎(jiǎng)品庫(kù)內(nèi)創(chuàng)建。這樣我們就能在不同的活動(dòng)和模板中在獎(jiǎng)品庫(kù)內(nèi)選出該獎(jiǎng)品。每次新增新的類型獎(jiǎng)品,需要實(shí)現(xiàn)該新類型獎(jiǎng)品的發(fā)獎(jiǎng)能力,如優(yōu)惠券、津貼、現(xiàn)金等都依賴不同的下游應(yīng)用進(jìn)行發(fā)放。? 庫(kù)存:目前支持分時(shí)間段庫(kù)存、每日庫(kù)存以及總庫(kù)存邏輯頻控,包含用戶及獎(jiǎng)品的發(fā)放頻控、包含每日頻次、周期循環(huán)頻次以及總頻次。
  • 下游依賴? 主要是兌換商城所依賴的下游應(yīng)用,包括營(yíng)銷中臺(tái)、商品聚合中心、提現(xiàn)中臺(tái)、口令服務(wù)、增長(zhǎng)配置中心等。

四、玩法迭代

整體玩法總覽

本次玩法迭代的介紹主要以積分兌換玩法為主,參考樣式如下:

圖片圖片

要想兌換具體的商品需要經(jīng)過(guò)一系列流程,下圖為兌換的主流程介紹,包含了用戶從發(fā)起兌換到最終兌換成功或失敗的流程。主要為用戶選擇某個(gè)獎(jiǎng)品兌換需要處理的一系列業(yè)務(wù)邏輯。

如上文所說(shuō),在玩法層面,主要使用了設(shè)計(jì)模式中的模板模式,利用自己領(lǐng)域模型的能力,優(yōu)先搭建好兌換玩法的骨架,比如有效性校驗(yàn)、庫(kù)存扣減、獎(jiǎng)品發(fā)放等邏輯,然后將一些關(guān)鍵步驟如前置自定義檢查、扣減貨幣、回滾操作交由上游應(yīng)用自定義實(shí)現(xiàn)。

玩法內(nèi)置邏輯是由商城內(nèi)部的領(lǐng)域模型實(shí)現(xiàn),主要包含通用邏輯如下:

  1. 各個(gè)模型的有效性校驗(yàn):確保兌換請(qǐng)求的合法性。
  2. 庫(kù)存及頻控模型的前置校驗(yàn):檢查庫(kù)存和頻控模型,確保兌換請(qǐng)求的可行性。
  3. 庫(kù)存扣減邏輯:扣減獎(jiǎng)品庫(kù)存,確保庫(kù)存數(shù)據(jù)的實(shí)時(shí)性和準(zhǔn)確性。
  4. 獎(jiǎng)勵(lì)模型的發(fā)放邏輯:發(fā)放用戶所兌換的獎(jiǎng)品。
  5. 兌換成功后置處理:進(jìn)行兌換成功的后置處理,如記錄日志、更新用戶狀態(tài)等。

即下圖灰色模塊是由商城自己的玩法模板實(shí)現(xiàn)。

需業(yè)務(wù)方對(duì)接邏輯主要包含:

  1. 前置自定義校驗(yàn):實(shí)現(xiàn)特定業(yè)務(wù)規(guī)則的前置校驗(yàn)。
  2. 貨幣扣減:扣除用戶相應(yīng)的積分或虛擬貨幣。
  3. 兌換失敗后的貨幣回滾:在兌換失敗時(shí),將扣除的積分或虛擬貨幣返還給用戶。

即黃色箭頭及模塊是由商城側(cè)發(fā)起,調(diào)用上游接入應(yīng)用,由上游應(yīng)用處理相關(guān)邏輯,然后通知商城成功與否。

圖片圖片

RPC調(diào)用迭代

1.0版本

在最初的版本中,黃色模塊(如前置自定義檢查、扣減貨幣、回滾操作)的實(shí)現(xiàn)方式較為繁瑣。具體流程如下:

  1. 上游業(yè)務(wù)方提供protobuf文件:每個(gè)新接入的業(yè)務(wù)方需要提供自己的protobuf文件。
  2. 生成go-grpc的server及client端樁代碼:根據(jù)protobuf文件生成go-grpc的server和client端樁代碼。
  3. 商城服務(wù)編寫(xiě)代碼調(diào)用client端樁代碼:在商城服務(wù)中編寫(xiě)代碼,調(diào)用client端樁代碼發(fā)起RPC調(diào)用。

這種實(shí)現(xiàn)方式存在以下問(wèn)題:

  • 開(kāi)發(fā)成本高:每次新接入一個(gè)業(yè)務(wù),都需要在商城服務(wù)和接入方同時(shí)編寫(xiě)代碼。
  • 維護(hù)復(fù)雜:隨著業(yè)務(wù)接入數(shù)量的增加,代碼維護(hù)和管理的復(fù)雜度顯著提升。

圖片圖片

2.0版本

為了減少商城側(cè)的開(kāi)發(fā)成本,我們借鑒了Java的SPI(Service Provider Interface)概念,對(duì)RPC調(diào)用進(jìn)行了優(yōu)化。具體實(shí)現(xiàn)如下:

  1. 商城統(tǒng)一生成protobuf的server端代碼:商城統(tǒng)一生成protobuf的server端代碼,作為服務(wù)提供者接口。
  2. 活動(dòng)模塊統(tǒng)一配置調(diào)用路由:在商城服務(wù)的活動(dòng)模塊中,統(tǒng)一配置調(diào)用路由,實(shí)現(xiàn)服務(wù)的動(dòng)態(tài)路由和調(diào)用。
  3. 接入方引用protobuf生成的server端樁代碼:每次有新業(yè)務(wù)接入,接入方只需引用對(duì)應(yīng)protobuf生成的server端樁代碼,并通過(guò)反向注冊(cè)機(jī)制實(shí)現(xiàn)服務(wù)的注冊(cè)和調(diào)用。

這種實(shí)現(xiàn)方式帶來(lái)了以下優(yōu)勢(shì):

  • 開(kāi)發(fā)成本降低 :商城層無(wú)需再為每個(gè)新接入的業(yè)務(wù)編寫(xiě)代碼,只需進(jìn)行應(yīng)用配置。
  • 維護(hù)簡(jiǎn)化 :通過(guò)統(tǒng)一的服務(wù)提供者接口和調(diào)用路由,代碼維護(hù)和管理的復(fù)雜度顯著降低。
  • 擴(kuò)展性強(qiáng) :新業(yè)務(wù)的接入更加便捷,系統(tǒng)的擴(kuò)展性和靈活性得到提升。

通過(guò)這種優(yōu)化,我們不僅實(shí)現(xiàn)了RPC調(diào)用的高效復(fù)用,還為未來(lái)的業(yè)務(wù)擴(kuò)展和系統(tǒng)優(yōu)化奠定了堅(jiān)實(shí)的基礎(chǔ)。這種模塊化、可配置的設(shè)計(jì)理念,不僅提升了開(kāi)發(fā)效率,還增強(qiáng)了系統(tǒng)的靈活性和可擴(kuò)展性。

圖片圖片

庫(kù)存設(shè)計(jì)迭代

一開(kāi)始庫(kù)存只有每日及總庫(kù)存的概念,實(shí)現(xiàn)也比較簡(jiǎn)單。為了保障庫(kù)存扣減的并發(fā)安全,使用Redis作為庫(kù)存的存儲(chǔ)。具體的庫(kù)存扣減則通過(guò)提前設(shè)置好Redis值并不斷扣減即可。由于Redis的單線程特性,也不用擔(dān)心并發(fā)重復(fù)扣減的風(fēng)險(xiǎn)。Redis一直扣減直至數(shù)值小于0就表示庫(kù)存已被耗盡。

rest, err := redis.decr(key)
if err {
  ...
  return err
}


if rest < 0 {
  return limitErr
}

而后需求迭代中出現(xiàn)了分時(shí)間段庫(kù)存,每天需要分成多個(gè)時(shí)段來(lái)分配庫(kù)存,每個(gè)時(shí)間段的庫(kù)存如果未被耗盡會(huì)累積到下一個(gè)時(shí)段。這個(gè)時(shí)候通過(guò)簡(jiǎn)單的Decr命令就不能滿足需求了。

  • 方案一 :為每個(gè)時(shí)段單獨(dú)設(shè)置一個(gè)Redis的key,但這樣會(huì)導(dǎo)致某個(gè)時(shí)段的庫(kù)存被浪費(fèi),不符合功能需求。要實(shí)現(xiàn)庫(kù)存累積效果,需要在進(jìn)入下一個(gè)時(shí)段時(shí)將上一個(gè)時(shí)段的庫(kù)存加到下一個(gè)時(shí)段,增加了實(shí)現(xiàn)復(fù)雜度。
  • 方案二 :繼續(xù)使用同一個(gè)庫(kù)存key,但需要拆分成兩次Redis命令調(diào)用,首先判斷當(dāng)前時(shí)段的庫(kù)存是否足夠,然后進(jìn)行扣減庫(kù)存。這種非事務(wù)性的執(zhí)行方式可能導(dǎo)致并發(fā)問(wèn)題,難以確保庫(kù)存被準(zhǔn)確扣減。

考慮到實(shí)現(xiàn)成本,我們選擇了方案二。具體邏輯如下:

圖片圖片

  • 當(dāng)前剩余未釋放庫(kù)存 = 總庫(kù)存 - 當(dāng)前已釋放庫(kù)存(即timeStock)? 當(dāng)前已釋放庫(kù)存是當(dāng)前已過(guò)時(shí)段各個(gè)庫(kù)存的累加。
  • 如果當(dāng)前庫(kù)存 < 當(dāng)前剩余未釋放庫(kù)存,表示當(dāng)前時(shí)段已無(wú)可使用庫(kù)存,返回-1。
  • 否則,返回當(dāng)前剩余未釋放庫(kù)存-1。

圖片圖片

為了解決并發(fā)問(wèn)題,我們引入了Lua腳本,確保庫(kù)存扣減的原子性。

LUA腳本偽代碼:

# KEYS[1] 為 redis的key
# ARGV[1] 為 提前算出的剩余未釋放庫(kù)存
# return的值 < 0 代表庫(kù)存扣減失敗
local _args1 = ARGV[1]
local stock = redis.call('GET', KEYS[1])
if stock < _args1 then
    return -1
else
    local rest = redis.call('DECR', KEYS[1])
    return rest
end
return -1

獎(jiǎng)品橫向迭代

圖片圖片

商城內(nèi)部的獎(jiǎng)品都統(tǒng)一維護(hù)在獎(jiǎng)品庫(kù)里,每個(gè)類型的獎(jiǎng)品都有通用屬性和擴(kuò)展屬性,同時(shí)不同的獎(jiǎng)品背后對(duì)應(yīng)著不同的資產(chǎn),需要有獨(dú)立的發(fā)獎(jiǎng)邏輯(資產(chǎn)發(fā)放)。因此每增加一個(gè)類型的獎(jiǎng)品,不僅需要增加獎(jiǎng)品類型的枚舉,也需要對(duì)接下游資產(chǎn)的發(fā)放功能。

商城從一開(kāi)始便不斷的在新增不同類型的獎(jiǎng)品,從優(yōu)惠券、代金券、津貼,到后面拓展出現(xiàn)金、虛擬獎(jiǎng)品、道具等獎(jiǎng)品。

而一些特殊的獎(jiǎng)品,比如抽獎(jiǎng)券,單獨(dú)實(shí)現(xiàn)一個(gè)發(fā)獎(jiǎng)邏輯就不能實(shí)現(xiàn)一個(gè)完整功能,為此我們還特地拓展出抽獎(jiǎng)券玩法。具體玩法是:用戶需要在開(kāi)獎(jiǎng)前獲得抽獎(jiǎng)券,這時(shí)會(huì)發(fā)放一個(gè)抽獎(jiǎng)碼給用戶,我們會(huì)在指定時(shí)間根據(jù)規(guī)則進(jìn)行開(kāi)獎(jiǎng)并通知獲獎(jiǎng)的用戶。這里除了發(fā)放抽獎(jiǎng)券的邏輯之外,我們還需要一個(gè)獨(dú)立的開(kāi)獎(jiǎng)功能。

開(kāi)獎(jiǎng)流程如下圖:

圖片圖片

抽獎(jiǎng)券的玩法迭代:

抽獎(jiǎng)券玩法的核心在于開(kāi)獎(jiǎng)定時(shí)任務(wù)的邏輯,這類抽獎(jiǎng)券活動(dòng)不同于獎(jiǎng)品兌換,單次活動(dòng)可能有百萬(wàn)人參與,一萬(wàn)人中獎(jiǎng)的情況。那么這樣開(kāi)獎(jiǎng)Job的實(shí)時(shí)計(jì)算量就過(guò)于龐大了,測(cè)試環(huán)境按照這個(gè)量級(jí)進(jìn)行開(kāi)獎(jiǎng)的話,耗時(shí)就已達(dá)到10多分鐘之久。這個(gè)時(shí)長(zhǎng)對(duì)于開(kāi)獎(jiǎng)腳本來(lái)說(shuō)是不可接受的了,不僅用戶體驗(yàn)達(dá)不到預(yù)期,而且時(shí)長(zhǎng)太長(zhǎng),這段時(shí)間如果服務(wù)一旦出現(xiàn)其他情況(如新功能部署、容器節(jié)點(diǎn)被調(diào)度等)中斷開(kāi)獎(jiǎng)流程更是會(huì)阻塞流程。

為此我們做了以下迭代優(yōu)化:

  1. 開(kāi)獎(jiǎng)Job的實(shí)時(shí)計(jì)算前置:在用戶兌換抽獎(jiǎng)券時(shí),系統(tǒng)提前為用戶打好標(biāo)簽,并隨機(jī)計(jì)算出一個(gè)分?jǐn)?shù)。將用戶的分?jǐn)?shù)加入到Redis的有序隊(duì)列中。這樣,在開(kāi)獎(jiǎng)時(shí)只需從有序隊(duì)列中取數(shù),大大減少了實(shí)時(shí)計(jì)算量。
  2. 開(kāi)獎(jiǎng)Job引入并發(fā)操作:允許多場(chǎng)次和多獎(jiǎng)品同時(shí)進(jìn)行匹配,顯著提高開(kāi)獎(jiǎng)效率。當(dāng)然,為了避免并發(fā)操作引起的數(shù)據(jù)錯(cuò)亂,在關(guān)鍵流程中加入了Mutex鎖,確保數(shù)據(jù)的一致性和完整性。
  3. 異常通知與一鍵重開(kāi)功能:在應(yīng)用出現(xiàn)各類意外情況導(dǎo)致開(kāi)獎(jiǎng)流程被阻塞時(shí),我們會(huì)有異常通知告知負(fù)責(zé)人,并提供一鍵重開(kāi)的功能。

最終效果:經(jīng)過(guò)以上優(yōu)化,正式版上線時(shí),100萬(wàn)人的開(kāi)獎(jiǎng)時(shí)長(zhǎng)從10多分鐘縮短了30倍,僅需20秒即可完成開(kāi)獎(jiǎng)。這不僅大幅提升了用戶體驗(yàn),還增強(qiáng)了系統(tǒng)的穩(wěn)定性和可靠性。

兌換防刷迭代

針對(duì)于防刷策略,項(xiàng)目從最開(kāi)始只是通過(guò)接口驗(yàn)簽及H5參數(shù)加密進(jìn)行防控,但這種方式的破解成本比較低,也很容易被黑灰產(chǎn)刷接口。到后面我們便系統(tǒng)梳理了從業(yè)務(wù)層、接口層及黑灰產(chǎn)防控三方面對(duì)代碼進(jìn)行加固。

  • 業(yè)務(wù)層防刷? 首先是獎(jiǎng)品維度的頻控,這是基于3.2-業(yè)務(wù)架構(gòu)概述中模板模型實(shí)現(xiàn)的,包含每日頻次、周期循環(huán)頻次以及總頻次。? 其次是活動(dòng)維度的頻控,這個(gè)是在兌換流程中,商城中臺(tái)給業(yè)務(wù)方提供了開(kāi)放能力。在兌換前置環(huán)節(jié)可以自定義校驗(yàn)邏輯,比如N天可兌換N次。

圖片圖片

圖片圖片

  • 接口層防刷? 這個(gè)主要是依賴于得物統(tǒng)一的流控中心,可以針對(duì)于單個(gè)接口配置限流和熔斷策略,這里就不過(guò)多贅述了。
  • 黑灰產(chǎn)防控? 針對(duì)于這部分流量,我們首先是通過(guò)接口驗(yàn)簽和時(shí)間校驗(yàn)先過(guò)濾一部分。? 其次是針對(duì)IP及設(shè)備的黑名單過(guò)濾。? 還有就是針對(duì)于高價(jià)值獎(jiǎng)品,我們會(huì)在前置環(huán)節(jié)預(yù)埋token,只有通過(guò)正常流程的用戶才能進(jìn)行兌換。

項(xiàng)目穩(wěn)定性建設(shè)

商城作為一個(gè)潛在的資損高危區(qū),在穩(wěn)定性建設(shè)上投入大量資源是必要的。本文我們首先聚焦于問(wèn)題發(fā)現(xiàn)及應(yīng)急止血方面的工作,包括通過(guò)監(jiān)控和告警快速發(fā)現(xiàn)問(wèn)題,以及通過(guò)一鍵止損開(kāi)關(guān)及時(shí)對(duì)發(fā)生異常的業(yè)務(wù)進(jìn)行熔斷。

監(jiān)控告警

在監(jiān)控告警方面,我們采用了多種技術(shù)手段來(lái)確保系統(tǒng)的穩(wěn)定性和及時(shí)發(fā)現(xiàn)潛在問(wèn)題:

業(yè)務(wù)監(jiān)控組件:對(duì)于一些明細(xì)數(shù)據(jù)的同環(huán)比對(duì)比,我們使用了得物通用的業(yè)務(wù)監(jiān)控組件。這種組件能夠?qū)崟r(shí)監(jiān)控業(yè)務(wù)數(shù)據(jù)的變化,幫助我們快速發(fā)現(xiàn)異常情況。

Prometheus SDK埋點(diǎn):對(duì)于一些需要分位數(shù)統(tǒng)計(jì)的數(shù)據(jù),我們使用了Golang的Prometheus SDK進(jìn)行埋點(diǎn),并統(tǒng)一收集上報(bào)。

最終這些數(shù)據(jù)統(tǒng)一接入到增長(zhǎng)的監(jiān)控大盤(pán)中,能夠清晰地看到各個(gè)接入方實(shí)時(shí)的訪問(wèn)數(shù)據(jù)、兌換數(shù)量及面額等。

圖片

告警配置:根據(jù)采集到的數(shù)據(jù),我們根據(jù)規(guī)則指標(biāo)制作了各類告警通知,確保在異常情況發(fā)生時(shí)能夠及時(shí)響應(yīng):

  • 事前預(yù)警 :獎(jiǎng)品庫(kù)存的實(shí)時(shí)通知與查看,確保庫(kù)存充足。
  • 事中告警 :獎(jiǎng)品數(shù)量及金額的同環(huán)比變化,及時(shí)發(fā)現(xiàn)異常波動(dòng)。
  • 事后統(tǒng)計(jì) :獎(jiǎng)品的核銷率及T+1天金額對(duì)賬,確保數(shù)據(jù)準(zhǔn)確無(wú)誤。

圖片圖片

圖片圖片

圖片圖片


圖片圖片



圖片圖片


一鍵止損開(kāi)關(guān)

為了在發(fā)生異常時(shí)能夠快速響應(yīng),我們引入了一鍵止損開(kāi)關(guān)。這個(gè)開(kāi)關(guān)能夠在檢測(cè)到異常情況時(shí),立即對(duì)相關(guān)業(yè)務(wù)進(jìn)行熔斷,防止資損進(jìn)一步擴(kuò)大。通過(guò)這種機(jī)制,我們能夠在最短時(shí)間內(nèi)控制問(wèn)題,減少損失。

五、更多拓展

抽獎(jiǎng)組件搭建器

為了進(jìn)一步提升抽獎(jiǎng)玩法的易用性和靈活性,我們與前端團(tuán)隊(duì)聯(lián)合打造了可視化的H5抽獎(jiǎng)組件。該組件基于商城中臺(tái),提供了完整的抽獎(jiǎng)解決方案,運(yùn)營(yíng)人員只需按照SOP文檔進(jìn)行配置,即可快速接入抽獎(jiǎng)玩法并投入使用,真正實(shí)現(xiàn)了抽獎(jiǎng)玩法的“開(kāi)箱即用”。

產(chǎn)品特性:

  • 開(kāi)箱即用:  提供完整的前后端組件, 支持九宮格/翻拍/老虎機(jī)等樣式;
  • 中獎(jiǎng)控制:  中獎(jiǎng)次數(shù)及中獎(jiǎng)?lì)l次控制;
  • 庫(kù)存控制:  獎(jiǎng)品每日/總庫(kù)存控制, 分時(shí)段釋放;
  • 多種獎(jiǎng)品:  優(yōu)惠券/代金券/津貼/虛擬獎(jiǎng)品等;

部分組件樣式如下,也支持在可視化的H5搭建器內(nèi)自定義組件樣式。

圖片圖片

在抽獎(jiǎng)組件的設(shè)計(jì)中,抽獎(jiǎng)次數(shù)的獲取是一個(gè)關(guān)鍵環(huán)節(jié)。最初,這一功能完全依賴于業(yè)務(wù)方自行實(shí)現(xiàn),這導(dǎo)致只有已經(jīng)接入過(guò)商城玩法的業(yè)務(wù)方才能使用H5的抽獎(jiǎng)組件。為了提升組件的通用性和易用性,我們進(jìn)行了以下優(yōu)化:

引入增長(zhǎng)的任務(wù)中臺(tái)

為了簡(jiǎn)化抽獎(jiǎng)次數(shù)的獲取流程,我們引入了增長(zhǎng)的任務(wù)中臺(tái)。通過(guò)這一中臺(tái),用戶可以完成配置的指定任務(wù)來(lái)獲得積分,這些積分可以直接用于參與抽獎(jiǎng)。

圖片圖片

打造簡(jiǎn)易的積分系統(tǒng)

我們打造了一個(gè)完整的積分系統(tǒng),實(shí)現(xiàn)了從獲得積分、消耗積分到領(lǐng)取獎(jiǎng)勵(lì)的閉環(huán)流程。具體實(shí)現(xiàn)如下:

  1. 獲得積分:用戶通過(guò)完成指定任務(wù)(任務(wù)中臺(tái)提供了非常豐富的任務(wù)類型)獲得積分。
  2. 消耗積分:用戶使用積分參與抽獎(jiǎng),系統(tǒng)自動(dòng)扣除相應(yīng)積分。
  3. 領(lǐng)取獎(jiǎng)勵(lì):用戶中獎(jiǎng)后,系統(tǒng)自動(dòng)發(fā)放獎(jiǎng)品,完成整個(gè)抽獎(jiǎng)流程。

這種閉環(huán)流程的設(shè)計(jì)帶來(lái)了多重優(yōu)勢(shì):

  • 簡(jiǎn)化接入流程 :業(yè)務(wù)方無(wú)需自行實(shí)現(xiàn)抽獎(jiǎng)次數(shù)的獲取邏輯,降低了接入成本。
  • 增強(qiáng)通用性 :所有業(yè)務(wù)方都可以通過(guò)積分系統(tǒng)使用H5抽獎(jiǎng)組件,提升了組件的適用范圍。

六、總結(jié)

本文講述了增長(zhǎng)兌換商城整體的業(yè)務(wù)框架及部分功能的實(shí)現(xiàn)細(xì)節(jié)。兌換商城作為一個(gè)中臺(tái),承接了不同上下游提出的需求,很多功能的實(shí)現(xiàn)都需要考慮到通用性及拓展性,而一些復(fù)雜需求或功能的實(shí)現(xiàn),是否會(huì)加重配置的難度,影響后續(xù)業(yè)務(wù)方的接入成本,都是需要在項(xiàng)目迭代中不斷思考的問(wèn)題。不僅如此,在迭代過(guò)程中的穩(wěn)定性保障也會(huì)是商城自始至終的基本要求。

對(duì)于兌換商城之后的規(guī)劃:

  1. 拓展玩法:引入更潮流、更具吸引力的玩法,以保持用戶的持續(xù)參與和新鮮感。通過(guò)不斷創(chuàng)新,確保商城始終處于用戶增長(zhǎng)的前沿。
  2. 降本提效:輸出簡(jiǎn)版玩法及后臺(tái)配置,維護(hù)每個(gè)版本的Changelog及SOP文檔,確保迭代過(guò)程透明且可追溯。精簡(jiǎn)業(yè)務(wù)接入流程,減少開(kāi)發(fā)成本和維護(hù)成本,提升整體效率。
  3. 交流進(jìn)步:本文作為大綱綜述,簡(jiǎn)要的講解了兌換商城整體的架構(gòu),后續(xù)將輸出更深入的博客文章,詳細(xì)探討兌換商城的核心技術(shù)實(shí)現(xiàn)、優(yōu)化策略。通過(guò)不斷的技術(shù)交流,促進(jìn)項(xiàng)目的成熟和優(yōu)化,確保商城系統(tǒng)的高效穩(wěn)定運(yùn)行。
責(zé)任編輯:武曉燕 來(lái)源: 得物技術(shù)
相關(guān)推薦

2023-07-07 19:26:50

自建DTS平臺(tái)

2023-01-11 18:34:22

推薦精排模型

2025-09-04 01:21:00

2025-11-20 01:22:00

2023-02-06 18:35:05

架構(gòu)探測(cè)技術(shù)

2023-03-30 18:39:36

2025-11-11 01:55:00

2023-05-18 11:00:34

物聯(lián)網(wǎng)智慧城市

2025-05-29 03:11:00

2020-06-09 15:17:50

物聯(lián)網(wǎng)自動(dòng)駕駛智能

2023-07-12 10:38:55

2024-03-06 11:22:33

架構(gòu)演進(jìn)技巧

2023-08-21 19:37:21

得物DGraph引擎

2023-04-28 18:37:38

直播低延遲探索

2023-09-13 18:59:40

SRE視角藍(lán)綠發(fā)布

2023-10-09 18:35:37

得物Redis架構(gòu)

2025-03-13 06:48:22

2010-11-15 17:23:09

網(wǎng)絡(luò)架構(gòu)

2020-01-06 22:56:39

物聯(lián)網(wǎng)安全可穿戴設(shè)備

2020-02-02 09:15:13

醫(yī)療物聯(lián)網(wǎng)IIOT
點(diǎn)贊
收藏

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

天天人人精品| 秋霞成人午夜鲁丝一区二区三区| 久久久久亚洲av片无码v| 成人av影院在线观看| 久久精品夜夜夜夜久久| 91探花福利精品国产自产在线| 久久久久久久福利| 国产精品美女久久久久久不卡| 制服丝袜中文字幕亚洲| 国产精品999视频| 三区四区电影在线观看| av电影一区二区| 91精品在线观看视频| www成人在线| 中文字幕亚洲综合久久五月天色无吗'' | 91亚洲视频| 五月激情六月综合| 麻豆md0077饥渴少妇| 青青久草在线| 粉嫩嫩av羞羞动漫久久久 | 亚洲天堂中文字幕在线| 日韩午夜激情| 色综合视频网站| 国产精品1区2区3区4区| 免费观看久久av| 精品福利一二区| 中文字幕人妻无码系列第三区| 精品视频在线一区二区在线| 天天亚洲美女在线视频| 欧美xxxx吸乳| 成视频免费观看在线看| 中文字幕av一区二区三区免费看| 久久久精彩视频| 日日夜夜精品免费| 顶级嫩模精品视频在线看| 91社区国产高清| 成人黄色免费网| 日韩精品电影在线观看| 人人澡人人澡人人看欧美| 国产亚洲成人av| 午夜日韩福利| 欧美成人精品三级在线观看 | 亚洲激情中文在线| 色偷偷综合社区| 免费看的黄色网| 激情综合网站| 国产一区二区三区精品久久久| 久久国产精品无码一级毛片| 国产精品巨作av| 欧美精品一区二区高清在线观看| 在线观看你懂的视频| 精品精品视频| 欧美第一区第二区| 好吊操视频这里只有精品| 天堂精品在线视频| 精品免费国产一区二区三区四区| 午夜性福利视频| 超碰97久久| 亚洲国产精品字幕| 国产制服丝袜在线| 免费看成人哺乳视频网站| 日韩精品视频免费专区在线播放| 三级黄色片网站| 国产欧美一区二区精品久久久| 亚洲人成免费电影| 亚洲一级黄色录像| 99久久夜色精品国产亚洲1000部| 精品国产一区二区三区久久狼黑人| 久久久久久久久久97| 中文字幕免费精品| 性欧美在线看片a免费观看| www欧美在线| 蜜臀精品一区二区三区在线观看| 成人黄色片在线| 性做久久久久久久| 2021久久国产精品不只是精品| 欧美精品一区二区三区在线四季| aⅴ在线视频男人的天堂| 最新国产の精品合集bt伙计| 国产一级做a爰片久久毛片男| 国产免费拔擦拔擦8x高清在线人| 色播五月激情综合网| 亚洲娇小娇小娇小| 一区二区亚洲视频| 亚洲欧美另类在线观看| 婷婷国产成人精品视频| 欧美日韩精品| 99热免费精品| 制服丝袜亚洲色图| 亚洲中文字幕无码一区| 久久99免费视频| 久久中文精品视频| 国产日产精品一区二区三区| 蜜桃久久久久久| 国产精品伊人日日| 91成人高清| 亚洲va国产天堂va久久en| 午夜视频在线瓜伦| 超碰在线亚洲| 神马国产精品影院av| 日本熟妇毛茸茸丰满| 日韩不卡在线观看日韩不卡视频| 99电影在线观看| 成人动漫在线免费观看| 亚洲高清在线精品| 欧美成年人视频在线观看| swag国产精品一区二区| 色综合伊人色综合网站| 四虎成人永久免费视频| 国产成人免费xxxxxxxx| 亚洲电影免费| 成人欧美大片| 亚洲国产欧美日韩精品| 黄色精品视频在线观看| 老司机亚洲精品| 97人人模人人爽人人少妇| 91女主播在线观看| 色综合久久中文综合久久97| www.com日本| 亚洲国产老妈| 国产又爽又黄的激情精品视频| 青春草在线观看| 亚洲国产欧美日韩另类综合| 欧美大片久久久| 精品久久久亚洲| 热久久这里只有| 手机看片一区二区三区| 一个色在线综合| 天天综合天天添夜夜添狠狠添| 国产一区二区三区91| 68精品国产免费久久久久久婷婷| 成人av免费播放| 亚洲精品菠萝久久久久久久| 小明看看成人免费视频| 色婷婷色综合| 国产精品人成电影| 草碰在线视频| 91国产免费看| 久久午夜精品视频| 人妖欧美一区二区| 色噜噜一区二区| 在线一区视频观看| 一色桃子一区二区| 亚洲视频中文字幕在线观看| 日本一区二区不卡视频| 九色91popny| 手机在线电影一区| 成人a免费视频| 国产网站在线免费观看| 欧美一级二级在线观看| 欧美成人三级视频| 国产精品99久久久久久久vr | 免费人成在线观看播放视频| 欧美日韩另类一区| 伊人在线视频观看| 国产美女在线观看一区| 亚洲熟妇无码av在线播放| 综合视频一区| 91超碰中文字幕久久精品| 日本加勒比一区| 欧美日韩在线观看视频| 亚洲一区视频在线播放| 免费看欧美女人艹b| 2021狠狠干| а√中文在线天堂精品| 2019中文字幕在线观看| 国产午夜精品一区理论片| 欧美欧美欧美欧美首页| 国产一区二区视频在线观看免费| 丁香婷婷综合激情五月色| 久久久久久久中文| 日韩美女一区二区三区在线观看| 91色视频在线导航| 欧美裸体视频| 中文在线不卡视频| 不卡视频在线播放| 欧美日韩亚洲一区二区三区| 岛国片在线免费观看| 国产.欧美.日韩| 欧美日韩亚洲一二三| 国产精品久久占久久| 国产精品污www一区二区三区| 亚洲黄色网址| 久久艳片www.17c.com| 熟妇人妻av无码一区二区三区| 在线免费一区三区| 久草网站在线观看| 久久九九久久九九| 特黄特黄一级片| 快she精品国产999| 久久综合亚洲精品| 国产一区二区三区电影在线观看 | 午夜福利理论片在线观看| 91福利社在线观看| 久久网一区二区| 国产精品三级av在线播放| 国产女主播在线播放| 日韩在线卡一卡二| 精品少妇在线视频| 久久久综合色| 免费电影一区| 亚洲成人五区| 国产日韩欧美中文| 最新欧美色图| 高清亚洲成在人网站天堂| 日本中文字幕在线2020| 日韩经典中文字幕在线观看| 国产情侣在线播放| 在线观看视频一区| 欧美精品亚洲精品日韩精品| 最新热久久免费视频| 日韩视频在线观看免费视频| 成人激情小说乱人伦| 天天操天天干天天做| 久久久亚洲人| 国产中文字幕乱人伦在线观看| 欧美电影免费| 欧美久久久久久久| 男人的天堂久久| 69174成人网| www.成人| 国产日韩欧美电影在线观看| 精品欧美一区二区三区在线观看 | 亚洲国产日韩在线观看| 欧美视频一二三区| 亚洲黄网在线观看| 欧美日韩国产色| 日韩欧美高清在线观看| 亚洲已满18点击进入久久| 国产精品白丝喷水在线观看| 亚洲国产高清aⅴ视频| 91久久免费视频| 久久综合视频网| 黄色国产在线观看| 不卡视频在线看| 污污污www精品国产网站| 国产成人福利片| 岛国精品一区二区三区| 国产成人久久精品77777最新版本| 韩国三级在线播放| 国产毛片一区二区| 91 视频免费观看| 加勒比av一区二区| 日本一本在线视频| 国产精品99久久久久久久vr| wwwww在线观看| 风间由美一区二区三区在线观看| 女教师高潮黄又色视频| 国产白丝网站精品污在线入口| 无码人妻丰满熟妇区毛片蜜桃精品| 国产精品亚洲а∨天堂免在线| 四虎国产精品永久免费观看视频| 国产精一区二区三区| 伊人av在线播放| 不卡一区二区三区四区| 日本少妇色视频| 国产日韩欧美精品电影三级在线| 色欲狠狠躁天天躁无码中文字幕| 国产目拍亚洲精品99久久精品| 国产真人真事毛片视频| 亚洲日本一区二区三区| 久久综合亚洲色hezyo国产| 午夜精品久久久久| www.日韩一区| 这里是久久伊人| 亚洲乱码国产乱码精品精软件| 亚洲成人精品av| 邻居大乳一区二区三区| 日韩在线视频中文字幕| 1024在线播放| 91精品国产电影| 国产精品第一| 99国产在线视频| 国产免费久久| 国产女人18毛片| 羞羞视频在线观看欧美| 亚洲 激情 在线| 懂色av中文一区二区三区| 91精品人妻一区二区三区蜜桃欧美| 亚洲国产精品黑人久久久| 亚洲一级生活片| 丁香五六月婷婷久久激情| 在线视频免费观看一区| 亚洲成人网av| av中文天堂在线| 欧美精品电影在线| 91成人抖音| 国产日韩一区欧美| 91麻豆精品国产91久久久平台| 男人天堂手机在线视频| 人人爽香蕉精品| 亚洲av成人无码一二三在线观看| 国产精品色哟哟| 日韩毛片一区二区三区| 欧美一区二区播放| 福利片在线看| 国模吧一区二区三区| 欧美黑粗硬大| 欧美极品一区| 欧美日韩视频一区二区三区| 欧美精品成人网| 99久久99久久综合| 外国一级黄色片| 欧洲av在线精品| 天堂在线视频免费| 久操成人在线视频| 日本在线一区二区| 欧美大香线蕉线伊人久久| 国产综合自拍| av亚洲天堂网| 国产天堂亚洲国产碰碰| 国产成人在线播放视频| 日韩欧美卡一卡二| 免费在线观看黄色| 国产精品爱久久久久久久| 免费观看成人www动漫视频| 黄色片免费在线观看视频| 麻豆91在线播放| 国产精品成人无码免费| 欧美性猛交xxxx富婆弯腰| 亚洲成人精品女人久久久| 久久视频在线免费观看| 成人全视频免费观看在线看| 久久久久久草| 国产视频一区欧美| 中文字幕 日本| 亚洲成在线观看| www.桃色av嫩草.com| 另类少妇人与禽zozz0性伦| 国产黄色一区| 一区二区三区四区欧美| 奇米四色…亚洲| 手机看片日韩av| 色哦色哦哦色天天综合| 巨骚激情综合| 国产成人精品免费视频| 精品久久美女| 人人干人人干人人| 国产精品毛片a∨一区二区三区| 中文字幕一二三四| 中文字幕欧美视频在线| 欧美高清影院| 三级在线免费观看| 国产成人亚洲综合a∨猫咪| 久久久久久久蜜桃| 精品对白一区国产伦| 51漫画成人app入口| 国产伦精品一区二区三| 亚洲精品色图| 日本一区二区三区网站| 色屁屁一区二区| √天堂资源地址在线官网| 国产一区欧美二区三区| 亚洲h色精品| 免费观看污网站| 天天做天天摸天天爽国产一区| 亚洲av成人无码网天堂| 日本一区二区在线播放| 成人区精品一区二区婷婷| 天堂av2020| 亚洲国产日韩在线一区模特| 男人的天堂在线| 国产精品一区二区女厕厕| 亚洲精品二区三区| 精品人妻在线视频| 色视频一区二区| 成人免费网址| 精品婷婷色一区二区三区蜜桃| 久久综合伊人| 国产三级精品三级观看| 亚洲精品在线三区| 欧美大片1688| 最近免费观看高清韩国日本大全| jlzzjlzz国产精品久久| 亚洲成熟少妇视频在线观看| 日韩网站免费观看高清| 成人春色在线观看免费网站| 五月婷婷深爱五月| 中文字幕欧美一区| 天天操天天干天天插| 国产精品久久久久久久久久ktv| 欧美福利网址| 欧美日韩高清丝袜| 欧美一区二区三级| 天天免费亚洲黑人免费| 艳母动漫在线观看| 91蝌蚪国产九色| 国产女人高潮时对白| 欧美综合国产精品久久丁香| 我不卡神马影院| 30一40一50老女人毛片| 91精品婷婷国产综合久久竹菊| 少妇淫片在线影院| 四虎精品欧美一区二区免费| 久久精品亚洲一区二区三区浴池| 国产a级免费视频| 国产精品劲爆视频| 亚洲第一网站| 91porn在线视频| 一区二区在线视频播放|