<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Distributed Transaction on I'm OWenT</title><link>//owent.net/tags/distributed-transaction.html</link><description>Recent content in Distributed Transaction on I'm OWenT</description><generator>Hugo</generator><language>zh-cn</language><copyright>&lt;a rel="license" href="https://github.com/owent/blog-hugo/blob/master/LICENSE.md"&gt;&lt;img alt="知识共享许可协议" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/80x15.png" /&gt;&lt;/a&gt;</copyright><lastBuildDate>Sat, 27 Jun 2020 12:19:45 +0000</lastBuildDate><atom:link href="//owent.net/tags/distributed-transaction/index.xml" rel="self" type="application/rss+xml"/><item><title>在游戏服务器中使用分布式事务</title><link>//owent.net/2020/2005.html</link><pubDate>Sat, 27 Jun 2020 12:19:45 +0000</pubDate><guid>//owent.net/2020/2005.html</guid><description>&lt;h2 id="前言"&gt;前言&lt;/h2&gt;
&lt;p&gt;游戏业务通常有个特点是模块相关性非常高，模块之间的联动也非常密集且复杂。要保持各个相关模块的数据一致性，同时又兼顾效率和，没有一个通用的方法。通常的做法是走有损服务（也叫柔性服务）和自动修复的方式。比如支付服务一般的做法是在2PC的基础上增加redo log，对于发放和订单确认这两方，如果失败了会尝试几次补发。又或者好友系统或者公会，因为涉及多个对象的数据相互索引，一些做法是玩家在线的时候定期去检查数据是否正确，如果不正确走修复流程。&lt;/p&gt;</description></item></channel></rss>