用戶池構思.jpg
以年齡為例
task 獲取數據以年齡排序 將數據以list形式存放到redis中 key 可從配置中獲取 .
為了安全不建議直接把key發送到前端.可在配置做一個等價替換
不同的key對應不同的分組數據
前端訪問webapp 獲取key的加密值 和 默認信息列表
獲取不同排序 前端發送不同的key值即可
跑批任務最后可以在redis數據失效之前把數據存儲到mysql
優點:
1.不需要修改webapp和webview
2.只需要修改跑批任務(算法添加、不同算法對應的配置更新到cloud config)
3.數據存儲樣式可用“配置_list”存儲
問題:
1.用戶搶單后要削減用戶列表.元列表并發存在修改問題
解決:在最終搶單時候來后臺查詢已搶單列表就行.修不修改的有錯誤也沒事.
(使用mysql存儲數據? 也不能解決這個問題 反而會觸及mysql并發量問題)
目前方案:mysql主從復制.從"從sql"查詢數據