1. 程式人生 > >抽獎平臺架構設計

抽獎平臺架構設計

1、需求背景:隨著抽獎專案的增多,提取抽獎功能核心部分服務化變得越來越重要,使各個專案都能統一使用,並且在容易出問題的點,比如安全性,併發等問題上進行統一管理,提供通用的抽獎介面,資料統計介面,並且實現不同的抽獎演算法。

2、資料表設計

CREATE TABLE user (

id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘主鍵’,

set_id int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘抽獎活動ID’,

simuid bigint(19) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘微信唯一標識’,

nickname varchar(128) NOT NULL DEFAULT ” COMMENT ‘暱稱’,

avatar varchar(256) NOT NULL DEFAULT ” COMMENT ‘頭像’,

is_whitelist tinyint(2) NOT NULL DEFAULT ‘0’ COMMENT ‘是否白名單:0不是,1是’,

scene_id varchar(255) NOT NULL DEFAULT ‘0’ COMMENT ‘scene_id’,

created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘建立時間’,

modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新時間’,

PRIMARY KEY (id),

UNIQUE KEY uniq_simuid (simuid)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=’使用者資訊表’;

CREATE TABLE prize_log (

id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘主鍵ID’,

member_id

varchar(64) NOT NULL DEFAULT ” COMMENT ‘使用者編號’,

set_id int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘抽獎活動ID’,

prize_id int(11) NOT NULL DEFAULT ‘0’ COMMENT ‘獎品ID’,

created datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘建立時間’,

modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘更新時間’,

PRIMARY KEY (id),

UNIQUE KEY uniq_member_set_prize (member_id,set_id,prize_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=’日誌表’;

統計表…..

3、介面設計:

核心介面:抽獎介面,抽獎結果介面(實現多種抽獎演算法)

使用者相關介面:使用者建立、使用者修改、使用者資訊列表

抽獎相關介面:使用者抽獎次數、使用者抽獎列表

統計相關介面:

4、許可權管理:每個活動專案只能使用當前專案的資訊,不能跨專案呼叫,每個專案分配唯一的簽名,簽名信息存入資料庫,並且判斷當前簽名是否屬於當前專案。

5、統一解決併發問題:1、使用kafka佇列,不同專案的抽獎資訊,寫入不同的訊息通道,定時指令碼消耗佇列通道,前端輪詢獲取抽獎資訊,佇列超過預期數量,直接返回不中獎;2、樂觀鎖代替悲觀鎖 3、讀寫分離(暫定) 4、併發過大采用限流和降級方案 5、業務系統快取抽獎頁面這種改動不頻繁的頁面,與抽獎邏輯無關的處理非同步另起執行緒處理

相關推薦

抽獎平臺架構設計

1、需求背景:隨著抽獎專案的增多,提取抽獎功能核心部分服務化變得越來越重要,使各個專案都能統一使用,並且在容易出問題的點,比如安全性,併發等問題上進行統一管理,提供通用的抽獎介面,資料統計介面,並且實現不同的抽獎演算法。 2、資料表設計 CREATE TAB

大快大數據平臺架構設計的構成模塊

大數據平臺架構設計 大數據平臺架構 大數據架構設計 大數據也不是近幾年才出現的新東西,只是最近幾年才真正意義上變得熱門、火爆!而這要得益於互聯網信息技術的快速發展,網絡改變世界、改變生活,大數據技術的應用讓這樣的改變更為深刻。關註大數據或者是互聯網方面新聞的人應該知道,大數據已經上升到了國家戰略的

主流Paas雲平臺架構設計思想

提供簡便的海量連線、雲端儲存、訊息分發和大資料分析等優質服務,從而降低物聯網企業和個人(創客)的研發、運營和運維成本,使物聯網企業和個人(創客)更加專注於應用。 高併發可用 支撐高併發應用及終端接入,保證可靠服務 提供高達99.9%的SLA服務可用性 多協議接入

網易考拉規則引擎平臺架構設計與實踐

此文已由作者肖凡授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 背景 考拉安全部技術這塊目前主要負責兩塊業務:一個是內審,主要是通過敏感日誌管理平臺蒐集考拉所有後臺系統的操作日誌,資料匯入到es後,結合storm進行實時計算,主要有行為查詢、資料監控、事件追溯、風險大盤等功能;一個是

微服務架構:基於微服務和Docker容器技術的PaaS雲平臺架構設計(微服務架構實施原理)

基於微服務架構和Docker容器技術的PaaS雲平臺建設目標是給我們的開發人員提供一套服務快速開發、部署、運維管理、持續開發持續整合的流程。平臺提供基礎設施、中介軟體、資料服務、雲伺服器等資源,開發人員只需要開發業務程式碼並提交到平臺程式碼庫,做一些必要的配置,

輕鬆監控上萬臺伺服器:企業運維監控平臺架構設計與實踐指南

一、Cacti/Nagios/Zabbix/centreon/Ganglia之抉擇 1、cacti Cacti是一套基於PHP,MySQL,SNMP及RRDTool開發的網路流量監測圖形分析工具。 簡單的說Cacti 就是一個PHP 程式。它通過使用SNMP 協議獲取遠端網路裝置和相關資訊,

iOS開發移動平臺架構設計

http://www.cnblogs.com/iOS-Blog/archive/2013/04/24/3039482.html 表示層:UIkit Framework 檢視 控制器 控制元件 事件處理 業務邏輯層:框架 各種封裝的函式或者方法 資料持久層:訪問SQ

PB級海量資料服務平臺架構設計實踐 | 文末福利

該平臺主要負責作業的解析編排、排隊、排程。作業編排採用呼叫外部編排服務的方式,主要考慮的是編排需要根據業務的一些屬性進行實現,所以將易變的業務部分從作業排程平臺分離出去。如果後續有對編排邏輯進行調整和修改,都無需操作業務作業度排程平臺。排隊,支援多佇列排隊配置,比如根據當前及其未來的發展趨勢,需要具有面向業務

IoT -- (一) 物聯網平臺架構設計分析

 現在網上討論的有關物聯網的帖子非常之多,但大部分都是介紹理論或者有關硬體,通訊相關的問題,比如物聯網模組,物聯網通訊協議MQTT、XMPP、NB_IOT等,個人認為這些只是物聯網中一部分,而涉及到物聯網的裝置如何管理,使用者如何管理,資料包如何解析,大資料如何展示等也是物聯

基於Docker的CaaS容器雲平臺架構設計

前言 在移動網際網路時代,企業需要尋找新的軟體交付流程和IT架構,從而實現架構平臺化,交付持續化,業務服務化。容器將成為新一代應用的標準交付件,容器雲將幫助企業使用者構建研發流程和雲平臺基礎設施,縮短應用向雲端交付的週期,降低運營門檻。加速企業向網際網路技術和業務的雙轉型

企業運維監控平臺架構設計與實現

課程介紹 本課程主要介紹了企業常見的運維監控平臺的構建思路和常用軟體,講述了cacti、nagios、zabbix、ganglia、webnagios等常用監控軟體的差異和優劣,並深入介紹了通過ganglia+nagios如何快速構建一個統一運維監控平臺。 課時列表

我對支付平臺架構設計的一些思考

微信公眾號「後端進階」,專注後端技術分享:Java、Golang、WEB框架、分散式中介軟體、服務治理等等。 老司機傾囊相授,帶

36、生鮮電商平臺-積分,優惠券,會員折扣,簽到、預售、拼團、砍價、秒殺及抽獎等促銷模組架構設計

說明:本標題列舉了所有目前社會上常見的促銷方案,目前貼出實際的業務運營手段以及架構設計,包括業務說明,僅供參考   促銷體系 1.1促銷體系 在電商和O2O領域,促銷是運營人員的一個主要的讓利行為,同時促銷活動期間的購買量也較之普通商品更高,不同的階段,對於促銷的要求也是不同的。 促銷實質

分布式架構設計之電商平臺

用戶服 base 介紹 val 重要 本地 交互 pac 一定的 分布式架構設計之電商平臺 何為軟件架構?不同人的答案會有所不同,而我認為一個好的軟件架構除了要具備業務功能外,還應該具備一定的高性能、高可用、高伸縮性及可拓展等非功能需求。而軟件架構是由業務架構和技術架構

全民養豬系統架構設計開發平臺

全民養豬 全民養豬系統開發,(李小姐177-8870-6412微/電)全民養豬系統源碼搭建,全民養豬系統全網模式開發,全民養豬 app系統軟件開發,全民養豬系統專業開發,全民養豬系統app開發平臺,全民養豬系統設計運作、非平臺客服,玩家勿擾!!! 全民養豬每個帳戶每天可以購買100元到20

h5熟人棋牌系統架設平臺服務器架構設計分析

連接 指針 架設 mage jpg nes order play 核心 h5熟人棋牌系統架設(aqiulian.com/h5),QQ咨詢212303635模仿COM組件接口模式,利用面向對象思想多態性polymorphism,調用方保存著被調用方的基礎接口指針(interf

支付平臺架構設計

隊列 from dff 內存使用情況 負載 分數 線程池。 限制 空間不夠 2018-04-29 李艷鵬 程序員小灰 本文轉載自公眾號 Fastpay快付 作者李艷鵬,阿裏P8技術專家,小灰在Qcon大會上有幸結識,技術又好為人又很謙和。

Java開源生鮮電商平臺-安全設計架構(源碼可下載)

安全機制 設計原則 light 目前 false html true TP 相關 Java開源生鮮電商平臺-安全設計與架構(源碼可下載) 說明:Java開源生鮮電商平臺是一個B2B的生鮮電商平臺,由於是APP的一種模式,所以安全方面一般會思考以下幾個維度:

數字資產交易平臺開發的架構設計理論架構

應用 是什麽 模型 什麽 api 是不是 安全性 有理 選擇 數字資產交易平臺開發的架構設計理論架構架構和設計,這是整個系統的靈魂步驟。一個架構不過關,到後面的問題可能是毀滅性的(相同業務量,相近的硬件,你的系統只跑兩年就很卡,人家跑五年沒事,很可能就是架構沒做好);系統設

【大數據幹貨】基於Hadoop的大數據平臺實施——整體架構設計

當我 調度 順序 .com 邊界 ilo 事情 軟件架構設計 行為 大數據的熱度在持續的升溫,繼雲計算之後大數據成為又一大眾所追捧的新星。我們暫不去討論大數據到底是否適用於您的公司或組織,至少在互聯網上已經被吹噓成無所不能的超級戰艦。大數據的熱度在持續的升溫,繼雲計算之後大