1、记录丢失
如发邮件记录,如果两个系统中的事件ID相同恰巧,则可能有记录丢失
如何解决?
2、重复消费某条记录,如果消费不具有幂等性,可能错误的产生多条记录。
什么是幂等(Idempotency)?简单来说,一个操作如果具有任意多次执行所产生的影响均与一次执行的影响相同,我们就称之为幂等。简而言之,我们需要一个 Dedup(去重)的机制。这往往有很多不同的实现方法,但是有两个很关键的因素:1)唯一标志记录的标识,由产生记录的客户端提供,服务器和客户端都使用它来识别记录) 2)服务端使用该唯一标识,并能确保唯一性!不处理两次,或处理两次结果和一次一样
注意,简单的读检查并不一定行,因为读与读之间会有 Race Condition(竞争条件),因此还是有可能出错。
http://baijiahao.baidu.com/s?id=1570246189966333&wfr=spider&for=pc
网友评论