浏览 6407 次
锁定老帖子 主题:关于积分的系统设计
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-10-30
我目前想的是: 1)数据库设计:数据库表包含:id,方法名,积分规则这三个字段,id是主键唯一标示,方法名是我拦截规则对应的标示,积分规则里面存放的是json格式数据,因为针对注册和下单的积分规则不一样,将不同的规则json格式化后存储,然后在不同的逻辑中解析判断; 2)系统实现:系统使用的是springmvc+mybatis,使用spring的aop对service进行拦截,根据拦截的service方法名取对应的规则解析,给予一定的积分 这里面还涉及到一个问题,针对积分规则的设置,我是单独放到了一个系统A中,而前台用户注册,购买等是在另外一个系统B中,为了提高效率,我可能会把积分规则放到缓存中,那这样的话,A中修改了积分规则,B中就要及时更新缓存中的数据,A、B通过接口进行交互?亦或者有没有更好的解决方案? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2015-10-30
你已基本实现系统解耦
系统A负责积分规则管理 系统B负责拦截方法 缓存负责存储积分规则 可以打断A-B的接口交互,既然已经有缓存机制了,读取缓存的速度比接口交互快,让B直接读取缓存,并做错误判断,当A更新缓存时可能读取不到数据时,隔1秒再读取。 |
|
返回顶楼 | |
发表时间:2015-10-30
superdemon 写道 你已基本实现系统解耦
系统A负责积分规则管理 系统B负责拦截方法 缓存负责存储积分规则 可以打断A-B的接口交互,既然已经有缓存机制了,读取缓存的速度比接口交互快,让B直接读取缓存,并做错误判断,当A更新缓存时可能读取不到数据时,隔1秒再读取。 在数据库表结构设计方面,你有什么好的想法么? |
|
返回顶楼 | |