例如:为了玩家能更好的连接到服务端,在国内和海外各搭建一套服务,但账号是唯一的,在两个服务都能登录。

目前想到的方案:

  1. 账号服用一个,游戏逻辑服分两个。问题:部分玩家连接账号服可能会有困难
  2. 服务器全都分两个,数据库用同一个。问题:国内的服务连海外的数据库会比较慢
  3. 服务器和数据库都分两个。问题:两个库如何同步数据?

帐号数据库只用一个,玩家连接不同的帐号服,内部访问同一个数据库即可,或者由一个转发消息到另外一个,都可以,走内部连接,延迟可以降到300毫秒,做登陆没啥问题

    egametang 因为在不同的地区,比如数据库在海外,国内的服务要访问数据库,不能走内网,会比较慢。不过应该在300ms左右,可能不太稳定。

    egametang 还有个问题,如果多个服务是否不能用同一个Process配置?防止生成相同Id

    多个Scene可以放到同一个进程中,Id还有时间,所以不会重复

      egametang 国内跟海外的物理机是分开的,而且不在同一个内网,那么就不能用同一套StartConfig配置。这种情况下,是不是要让两套StartConfig里面的ProcessId不同?

      egametang 没有计划在国内运营,但希望国内的玩家能轻松连上,例如steam上面的游戏,有很多游戏这方面做的都不好,中国玩家只能连香港节点,经常出现连不上的问题。

      那咋可能,国外的数据在外面,国内又想访问国外的数据,云服务器又不提供翻墙,你又不想让玩家翻墙,那怎么拿到国外的数据呢。显然从逻辑上就行不通

        egametang 国内服务可以访问国外的数据,至少目前是可以访问到的(通过外网),如果有一天被墙导致访问不到,也可使用其他的代理方式来访问。是不是猫大觉得走外网是个很大的风险点?

        政策风险就很大。如果能访问国外数据,那技术上难度到不大