有个逻辑问题问下大家,要实现一个等级升级推送的功能,等级是靠积分走的,每次操作会加积分,例如积分到了 100 就会升到 2 级,到了 200 就会升到 3 级,现在升级的时候现在需要推送告知
关于这个大家有没有比较好的方案,最好耦合性低一点,我不太想把推送的逻辑直接放倒增加积分的服务里。
1
dear123 2016-01-20 16:00:50 +08:00
业务分离还是实现分离阿?
|
2
k9982874 2016-01-20 16:11:50 +08:00 via iPhone
mq 啊 多合适
|
3
ethego 2016-01-20 16:13:33 +08:00
异步推送就好了呗,这边加完积分发送一个信号给线程池
|
4
ryanking8215 2016-01-20 16:42:04 +08:00
观察者模式或者委托, signal/slot 啥的
|
5
pelloz 2016-01-20 17:05:17 +08:00
积分的变动应该有一个统一管理的服务,然后这个服务提供观察者注册,所有注册的观察者在积分发生变动的时候收到通知。
|
6
ljcarsenal 2016-01-20 17:08:13 +08:00
event.on('upgrade',function(){
}) |
7
ljcarsenal 2016-01-20 17:09:36 +08:00
event.on('upgrade',function(){
//推送 }) //判断积分,若满足则 event.emit('upgrade') |
8
SmiteChow 2016-01-20 18:20:37 +08:00
signal---task
实现这一层, task 可以是异步也可以是同步,应为异步。 |
9
xcaspar 2016-01-20 22:24:41 +08:00
同意 5 楼的观点,每个观察者里可以异步去处理消息
|