从这篇文章开始,我们开始进入ryzom游戏世界的内部架构,我会分几篇文章把涉及到的service做一个介绍,今天我们先来看一下naming service。

  因为一个游戏世界一般会按功能分成多个service,多个service又会在不同的物理机器上(这里不包括那种把所有的游戏逻辑和功能都放在一个进程内的做法),所以首先碰到的一个问题就是多个service启动的问题,各个service之间会有启动依赖,而且你也不太可能在service的配置文件中把所依赖的service地址都写出来,这样非常不利于运营和部署。这个时候就需要一个naming service,它就相当于一个黄页,一个service启动后就向naming service注册自己的地址和名字,注册成功后naming service会向其他注册过的service广播,有一个新的service来了,也会把所有已经注册过的service的名字和地址都发给它,这样可以根据自己的需要连接依赖的service,这样做的好处就是有一个专门的service负责其他service的启动注册,只做一件事情并且做好!这样也能避免写很冗长的配置文件.