一種優雅的方式整合限流、冪等、防盜刷
大家在工作中肯定遇到過接口被人狂刷的經歷,就算沒有經歷過,在接口開發的過程中,我們也需要對那些容易被刷的接口或者和會消耗公司金錢相關的接口增加防盜刷功能。例如,發送短信接口以及發送郵件等接口,我看了國內很多產品的短信登錄接口,基本上都是做了防盜刷,如果不做的話,一夜之間,也許公司都賠完了┭┮﹏┭┮。 假設我們正在開發一個發送短信(僅國內)的接口,過程如下 接口定義為/sendSms 請求參數
昵称 xcye
大家在工作中肯定遇到過接口被人狂刷的經歷,就算沒有經歷過,在接口開發的過程中,我們也需要對那些容易被刷的接口或者和會消耗公司金錢相關的接口增加防盜刷功能。例如,發送短信接口以及發送郵件等接口,我看了國內很多產品的短信登錄接口,基本上都是做了防盜刷,如果不做的話,一夜之間,也許公司都賠完了┭┮﹏┭┮。 假設我們正在開發一個發送短信(僅國內)的接口,過程如下 接口定義為/sendSms 請求參數
昵称 xcye
大家好,我是冰河~~ 經過四個多月的堅持,《Seckill秒殺系統》終於接近尾聲了,也感謝大家這四個多月以來的堅持和陪伴,也相信大家在《Seckill秒殺系統》專欄中,學到了不少知識和技術。接下來,我們就一起對《Seckill秒殺系統》專欄做個總結。 一、總體概述 在《Seckill秒殺系統》專欄中,不僅僅是帶着大家從零開始寫一個秒殺業務系統,而是從需求立項到架構設計、環境搭建到編碼實現、問題重現
昵称 冰河
大家好,我是冰河~~ 分佈式IM即時通訊系統本質上就是對線上聊天和用户的管理,針對聊天本身來説,最核心的需求就是:發送文字、圖片、文件、語音、視頻、消息緩存、消息存儲、消息未讀、已讀、撤回,離線消息、歷史消息、單聊、羣聊,多端同步,以及其他一些需求。 對用户管理來説,存在的需求包含:添加好友、查看還有列表、刪除好友、查看好友信息、創建羣聊、加入羣聊、查看羣成員信息、退出羣聊、修改羣暱稱、拉人進羣、
昵称 冰河
大家好,我是冰河~~ 最近,有小夥伴私信我:冰哥,我最近出去面試,面試官問我如何設計緩存能讓系統在百萬級別流量下仍能平穩運行,我當時沒回答上來。接着,面試官問我之前的項目是怎麼使用緩存的,我説只是緩存了一些數據。當時確實想不到緩存還有哪些用處,估計這次面試是掛了。冰哥,你可以給我講講互聯網大廠項目是怎麼設計和使用緩存的嗎? 本文緩存方案已經開源,開源地址如下,如果開源方案對你有點幫助或者啓發,
昵称 冰河
作者:付政委 博客:bugstack.cn 沉澱、分享、成長,讓自己和他人都能有所收穫!😄 大家好,我是技術UP主小傅哥。MVC講解了,DDD講解了。接下來這個章節,我們講講從MVC到DDD的重構! MVC 舊工程腐化嚴重,迭代成本太高。DDD 新工程全部重構,步子扯的太大。 這是現階段在工程體系化治理中,我們所面臨的最大問題;既想運用 DDD 的思想循序漸進重構現有工程,又想不破壞原有的
昵称 小傅哥
陪玩系統源碼開發是一個涉及需求分析、技術選型、架構設計、前後端開發、測試部署及維護升級的全流程工程。以下是關鍵環節的詳細解析: 需求分析與功能規劃 核心功能: 用户端:註冊登錄、陪玩師篩選(按遊戲類型、價格、評分)、下單支付、實時語音/文字聊天、服務評價、訂單管理。 陪玩師端:技能認證、接單管理、收益提現、服務狀態設置。 平台端:用户與陪玩師管理、訂單監
昵称 miadk
在免費交友平台氾濫、用户付費意願低迷的市場環境下,“信任價值”是打破同質化競爭、驅動用户付費的核心抓手。用户為社交付費的本質是為“確定性”買單——即降低社交風險、提升關係質量、獲得真實價值回報。以下從信任價值構建、盈利模式設計、風險防控三方面展開,提供可落地的策略框架。 一、信任價值的本質:用户為何願意為“確定性”付費? 信任價值的三大維度 1、 身份真實性:虛假信息氾濫、詐騙風
昵称 miadk
一、引言 在分佈式系統中,實現水平擴展的關鍵在於能夠有效地分配請求並均勻地將數據分配到各個服務器上。一致性哈希算法作為一種常用的技術,能夠很好地解決這一問題。本文將深入探討一致性哈希算法的原理、實現以及應用場景。 二、重哈希問題 2.1 傳統哈希方法 傳統的哈希方法通常使用取模運算來確定鍵存儲在哪個服務器上,即 serverIndex = hash(key) % N,其中 N 是服務器池的大小。這
昵称 float64