010 多版本配置功能交接
Author: fupeng.li
Date: 2020-05-07
关键词:010 多版本配置功能
需求
需求梗概:
- 用户需要分层,不仅仅使用单一的配置文件
- 改变用户的分层的依据是用户的广告数据
- 一旦到达既定的触发条件,需要将用户跳档
- 但是涉及不少特殊情况不予执行此需求
具体业务逻辑
代码相关注意事项
trident 数据来源
数据来自于方堃做的一部分工作,从 goldeneye 拿到准实时数据,放到对应的 Redis 里,这个 Redis 是一个单独的 Redis,根据代码讲解
数据存储位置
新建了数据库 ad_info,用于存储相关信息
type AdInfoModel struct { //(device_id 不唯一)
UserId string `json:"user_id" xorm:"user_id"`
DeviceId string `json:"device_id" xorm:"device_id"`
Click int `json:"click" xorm:"click"`
Coin int `json:"coin" xorm:"coin"`
Impression int `json:"impression" xorm:"impression"`
Updated time.Time `json:"updated" xorm:"updated"`
Created time.Time `json:"created" xorm:"created"`
}
具体字段解释:口头讲
用户等级记录
用户等级数据同时存储在 pg 里和 Redis 缓存里
配置等级排列和记录
在程序 init 时就会拿到配置文件里所有的用户等级配置,根据代码讲解