OpWeb——MySQL同步模块(1)

一直以来,我们的项目都是基于文本文件数据进行存储,我喜欢这种存储方式。

首先,他比较简单,并且便于查看和修改,而且非常方便。我觉得唯一的麻烦就是如何管理这一堆用户数据。

然而对于其他开发者来说,查询、统计、处理文本数据是个糟糕的事情,更倾向于SQL类存储。

MongoDB是可以查询,但是如果能直接同步到MySQL是否会更顺利一些?

刚开始计划是这样的:

示例:

玩家:{
	OpId,
	金钱,
	经验,
	等级,
	背包:[{
		OpId,
		道具名,
		数量,
		位置
	}],

	战绩:{
		OpId,
		击杀,
		死亡
	}	
}


1.当同步一个根对象时,扫描当层节点作为一个表的定义,于是乎我们有了一个第一层的“玩家表”。

id , opId,rid,金钱,经验,等级

2.扫描子对象,比如战绩,生成“ 玩家_战绩表

id,opid,rid,击杀,死亡

生成“ 玩家_包裹表"

id,opid,rid,道具名,数量,位置


3.根据对象结构“插入/更新”对象


然后我尝试用1个下午完成了该功能,相当不错!

只是有个小问题:如果更改了结构,可能会有点问题。

NodeJs开发这种小模块简直就是利器!!


然后,如何同步的问题?

1.直接使用MySQL同步器,(增加一个读取模块即可)

2.使用远程同步

3.IPC,子进程同步,(单节点部署)


等等,我想到了一个问题,为什么C#版本不能拥有?

1.C# App中嵌入NodeJs作为子进程,然后建立IPC通讯。
2.C# App 通过 TCP 与NodeJs通讯。

这样2版本同时拥有了新的特性!cool!!!


你可能感兴趣的:(设计之美,OpWeb)