pomelo-cn
pomelo-cn copied to clipboard
如何将服务部署到不同的机器上
pomelo不是分布式的,为什么例子都是在一台机器上运行的,如何在多个机器上分布运行不同的服务啊。配置是怎样的,需要将代码拷贝到每个机器上吗,这些机器的操作系统必须是一样的吗,怎样将这些服务全部启动?
我不是很了解,但是理论上应该是要将代码拷贝到不同听机器上,可以试着用Puppet部署。 /game-server/config/server.json 这个是配置服务端口的。
代码在每台机器中所在位置要相同,另外需要注意master.json和servers.json中全部使用具体ip进行配置。
有没有实际使用过的啊,听说要用到ssh agent forwarding
这个好像不用吧,记得开放端口就 行了
一个大型游戏不可能就放在一台机器上吧,几百万人不把它挤爆了。
不是很了解,不过,感觉就是这个服务器连上那个服务器的端口应该就行了。。
在实际应用中,游戏会分成许多模块,放在不同的机器上。 而服务端代码都写在一起,如何将这些代码部署到成千上万台机器上,协同工作。
理解一下server.json代码写得很通俗易懂吧。
看网上的资料说,把代码拷贝到每台机器上,设置每台机器的ssh agent forwarding,然后在一台主机上启动app,这样就可以将所有机器的服务都启动了。但是具体细节我不太懂,还有一些问题也不明白,比如这些机器的系统是否要一样,放代码的位置是否要一样,主机是如何知道这个位置的等。
提一个简单问题吧,如何将lordofpomelo的聊天服务部署到另一台机器上。
"development":{ "connector":[ {"id":"connector-server-1", "host":"127.0.0.1", "port":4050, "clientPort": 3050, "frontend": true}, {"id":"connector-server-2", "host":"127.0.0.1", "port":4051, "clientPort": 3051, "frontend": true}, {"id":"connector-server-3", "host":"127.0.0.1", "port":4052, "clientPort": 3052, "frontend": true} ], "chat":[ {"id":"chat-server-1", "host":"127.0.0.1", "port":6050}, {"id":"chat-server-2", "host":"127.0.0.1", "port":6051}, {"id":"chat-server-3", "host":"127.0.0.1", "port":6052} ], "gate":[ {"id": "gate-server-1", "host": "127.0.0.1", "clientPort": 3014, "frontend": true} ] }, 以connector为例。有服务器1,这是的IP是127.0.0.1,你可以对应为你的服务器的IP,比如192.168.0.1 后面开放的端口, 那么server-2,比如说你的服务器的IP是192.168.0.2改为这样子就行了,POMELO会均衡负载。。。只改你的HOST的那个地址就可以了,不过不同的服务器开放的端口号要和server.json一致。
代码要分别复制到两台机器上,并分别启动app吗?
嗯。。。对啊。
那个,我有100台机器,重启一下服务器很累啊,有没有快捷启动和管理方法啊?
puppet好像可以。。不是很了解的样子,
好,谢谢了,我先了解一下puppet吧。 看来还是要实际的做一个产品出来才知道具体细节。 你们有没有做出正在运营的产品啊,我正在做一款网络游戏,下个月就要开始部署了,到时不懂再问你们吧。
额,我也属于用户。。。
所有机器上代码的位置要保持一致,注意master.json和servers.json中的host全部配置为具体ip地址,另外保证master到其它服务器无验证登录。