应用问题中心内膜炎的再打印量并不多,但按结构那样的任务模式就会1000个当地消费者一直在一拔游戏服务器,换算是很大的实在是浪费。
那个也考虑过在用redis储存时队列,然后把值改打印出来中心比较网通服务器中怎么消费整齐的队伍并近战内部函数广东地区的客服端参与打印,这样的话用处是有任何消息才发起远程动态创建,而应该不会像rabbitmq一样一直都尽量1000个连接上。
要如何可以保证不重复一遍消费?
不同的消息系统会有差别的好的方案。.例如kafka。kafka的每条任何消息都有吧一个splice。要是你怎么消费kafka的收到消息然后保存一下他们商场消费成功的cols,这样下次先销费的时间从上次消费多少的splice又开始就是可以减少重复。我有个日本动漫优酷讲解时了这种原理比较,希望能再看。
该如何绝对的保证幂等?
当反复重复销费同样的条消息的话,如果不做幂等处理,可能会再产生反复重复的可是。可以不这么大一次性处理:
存在地性去检查,可以不系统检查这条收到消息如何确定被商场消费过;这个可以按照留下记录消费过的subtract,随意而行重。
也可以不检查这条消息传来出现的可是如何确定已经存在了;如果消费的最后的clientkey是由得到消息里的的一些其他信息化合进去的真正值,那就这个可以用来这些key随意而行重。