看了好多的文章,又参考以前项目的合服代码,今天终于顺利的完成了合服。
就简单说下自己的合服过程吧。
合服:其实就是把几个数据库合到一起,中间需要处理的有1.主键的冲突,比如ID,当然可以在设计的当初,就让说有的ID 都不同。2.特殊的逻辑,比如说游戏里的势力,他们的科技,国库,帝王等,要怎么处理。3.处理一些特殊的数据,比如说一个3年没有登陆,没有消费记录,并且1级的小号。4.其他具体的小细节。我的做法是:主服务器数据不变,从服务器的数据导出到.sql中。
设计:
1.每个数据库的配置
2.合并对象的中间数据,比如说最大id,修改名字的表等
3. 数据对象
4. 对数据进行查询操作,并进行反序列化
5.处理逻辑
6.需要暂时保存的数据,量比较大时,需要用内存数据库来暂存
7.一些对数据进行转化的工具
8.输出文件
由于表很多,最好好好的设计下接口。