<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>账号状态 on PlumePHP</title><link>https://plumephp.com/tags/%E8%B4%A6%E5%8F%B7%E7%8A%B6%E6%80%81/</link><description>Recent content in 账号状态 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Fri, 17 Sep 2021 16:20:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E8%B4%A6%E5%8F%B7%E7%8A%B6%E6%80%81/index.xml" rel="self" type="application/rss+xml"/><item><title>账号变更串行化架构：背包、货币与任务如何不互相踩踏</title><link>https://plumephp.com/game-server-account-mutation-serialization-architecture/</link><pubDate>Fri, 17 Sep 2021 16:20:00 +0800</pubDate><guid>https://plumephp.com/game-server-account-mutation-serialization-architecture/</guid><description>&lt;h2 id="背景问题通常不是突然出现的"&gt;背景：问题通常不是突然出现的&lt;/h2&gt;
&lt;p&gt;玩家完成一局战斗时，战斗结算给经验和道具，任务系统推进进度，通行证增加积分，活动系统发额外奖励，邮件系统可能补偿掉落。每个系统单独看都合理，但如果它们同时改同一个玩家账号，就很容易出现背包覆盖、货币漏加、任务重复完成。账号变更串行化架构的核心，是把“同一玩家的关键状态变更”从并发写变成可排序、可审计、可重放的变更流。&lt;/p&gt;</description></item></channel></rss>