宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

【重大生產(chǎn)BUG修復(fù)】新人優(yōu)惠券被惡意高并發(fā)一次領(lǐng)取了20張,并且均可以正常使用。

管理 管理 編輯 刪除

繞過條件競爭多次領(lǐng)取優(yōu)惠卷,這種問題出現(xiàn)的原理是:多個線程同時訪問同一個共享代碼、變量、文件等沒有進行鎖操作或者同步操作的場景中。通常的web處理方式是通過單線程線性完成的,如果出現(xiàn)多線程并發(fā)請求的情況,數(shù)據(jù)處理邏輯就可能出現(xiàn)異常。

接口:/api/coupon/receive

45426202404151512161312.png29149202404151512262528.png

bd3c6202404151512367007.png876a3202404151512517454.pngef74e202404151513167392.png



修復(fù)建議:

   一般是使用mysql的鎖機制、或者使用redis的原子性、單線程特性來解決。

   本次修復(fù)采用了限制接口請求頻率的方案來解決,因為我們在遇到這個bug之前已經(jīng)實現(xiàn)了限制接口頻率的功能,另外急于工期,所以臨時這樣解決。最終還是計劃使用redis來從根源解決這個問題。

   該問題可延伸出秒殺場景下的庫存超賣、簽到場景下的多次簽到領(lǐng)取獎勵等。大家可以測試排查下相關(guān)場景是否存在該問題。


修復(fù)方法:

   1:安裝 composer安裝 topthink/think-throttle 依賴;

       composer require topthink/think-throttle

       注意:執(zhí)行composer 安裝依賴命令的時候最好先git提交一下代碼,或者備份一下, 因為依稀記得當時安裝這個依賴的時候?qū)е马椖刻峤籫it的時候出現(xiàn)了一個關(guān)于git子模塊的問題,當時排查出來是因為composer更新了一個名為alipaysdk/easysdk的依賴,這個依賴又依賴于xin/container這個,然而這個xin/container依賴文件夾內(nèi)部有.git的文件夾,因為我對git子模塊不太熟悉,所以當時git提交報錯后,我直接將xin/container文件夾內(nèi)的兩個子目錄里的.git刪掉即可。


  2:對領(lǐng)取優(yōu)惠券接口使用頻率限制配置(也可以對任意想要限制頻率的接口進行設(shè)置)

       61ccb202404151528223967.png

       說明:

       1. 對相關(guān)接口配置\think\middleware\Throttle中間件,1/10表示10秒內(nèi)僅允許一個請求;

       2. key中一定要使用到用戶的唯一uid;

       3. 另外就是這個中間件一定要放在認證中間件AuthTokenMiddleware后面,否則request中獲取不到用戶的uid信息。

   

請登錄后查看

hmmmmmmmmmmmmmmmm 最后編輯于2024-04-15 15:35:03

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認正序 回復(fù)倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復(fù)' : '回復(fù)'}}
刪除
回復(fù)
回復(fù)
查看更多
打賞
已打賞¥{{reward_price}}
3053
{{like_count}}
{{collect_count}}
添加回復(fù) ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復(fù)
回復(fù)
問題:
問題自動獲取的帖子內(nèi)容,不準確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認打賞

微信登錄/注冊

切換手機號登錄

{{ bind_phone ? '綁定手機' : '手機登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服