diff --git a/notes/分布式问题分析.md b/notes/分布式问题分析.md index 7236790b..de53da73 100644 --- a/notes/分布式问题分析.md +++ b/notes/分布式问题分析.md @@ -73,15 +73,16 @@ 发送端完成操作后一定能将消息成功发送到消息系统。 -在本地数据建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息中间件,若转移消息成功则删除消息表中的数据,否则继续重传。 +实现方法:在本地数据建一张消息表,将消息数据与业务数据保存在同一数据库实例里,这样就可以利用本地数据库的事务机制。事务提交成功后,将消息表中的消息转移到消息中间件,若转移消息成功则删除消息表中的数据,否则继续重传。 (二)接收端的可靠性 接收端仅且能够从消息中间件成功消费一次消息。 -保证接收端处理消息的业务逻辑具有幂等性:只要具有幂等性,那么消费多少次消息,最后处理的结果都是一样的。 +实现方法: -保证消息具有唯一编号,并使用一张日志表来记录已经消费的消息编号。 +- 保证接收端处理消息的业务逻辑具有幂等性:只要具有幂等性,那么消费多少次消息,最后处理的结果都是一样的。 +- 保证消息具有唯一编号,并使用一张日志表来记录已经消费的消息编号。 # 三、负载均衡的算法与实现