安装pomelo依赖包时出现bug+常见问题汇总

美丽的bug让我等了。。。。

原因: npm-install.bat 安装依赖包 error.是因为版本不兼容

方法:  修改package.json文件中的版本;具体的版本号可以参考新建的HelloWorld工程

bug2:

  运行node  app.js报错误: can not found  'express';
   解决:cd  web-server   npm install express

2        pomelo分布式聊天服务器详解----http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece76310578b3b4416cb296a9cc7150884cd15c6735b364462e2ac275541598cd82c395cfa541daca37029661e24b598cb8d4cdbb9922a2c8e2532731e814013d218a5ca5b31847dd00ce6ed44b8edae6f84aea396840d08&p=8667c54ad6c047bc43b1c12d021482&newp=9c63c816d9c117ff57ed97785f5f80231610db2151d4d41429&user=baidu&fm=sc&query=pomelo+wiki&qid=f00588a5000f59d2&p1=5

我刚运行这个聊天室程序的时候确实有点迷糊,看了 wiki上的架构图又是web server,又是gate server,还有多个 connecter,还有chat server等等,在config .json里可以进行相关的一些配置:

"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}
]
},

其中frontend表示此服务器可以被用户请求到,clientPort表示此服务器对外的端口号,port表示此服务器对内部的rpc调用端口号。
 
3
其实上述代码就是利用socket.io于远程服务器建立连接,并且把socket对象传入回调函数。另外pomelo.request方法就是向这个socket发送数据,注意了整个pomelo对象是一个单例,所以我们在使用pomelo对象时同时只能连接一个服务器,所以代码中在连接gate服务器之后,获得connector服务器的主机名和端口就需要使用 pomelo.disconnect();方法关闭这个连接,从而重新init连接被分配的connector服务器。
我们重点看下,这个route变量:

var route = 'gate.gateHandler.queryEntry';

4

ChatRemote类,通过app.get获取'channelService'服务,这个上面的sessionService一样,拿到channelService对象之后,我们调用this.channelService...

5

看完聊天室的代码,给我几个有疑惑的地方,等接下来深入 pomelo框架之后,应该会有所解答:
1、用户的session和channel信息的保存,默认应该是保存在内存中的,如何把它保存到数据库中
2、session和channel的同步效率如何,目前还没测试过
3、对于connector或者chatserver的容灾问题,demo中也没考虑
4、gateserver理论上是可以支持分布式扩展的吧
5、如果connector和chat还有gate不在一台服务器上的话怎么处理?如何分别启动这些服务器和同步下发config?

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值