pomelo服务端game-server下的config文件夹用于存放配置文件,包括pomelo框架的配置文件、第三方插件的配置文件、用户自定义的配置文件。其中默认的配置文件包括:
配置文件 |
描述 |
master.json |
Master主服务器所使用的配置文件 |
servers.json |
用于定义服务器集群,Master主服务器使用。 |
adminServer.json |
服务器类型配置 |
dictionary.json |
用于定义路由压缩的字典配置文件 |
log4js.json |
日志配置 |
服务器配置
主服务器配置master.json
$ vim game-server/config/master.json
{
"development": {
"id": "master-server-1", "host": "127.0.0.1", "port": 3005
},
"production": {
"id": "master-server-1", "host": "127.0.0.1", "port": 3005
}
}
master.json主配置文件的字段格式
字段 |
类型 |
为空 |
描述 |
id |
字符串 |
必填 |
Master主服务器的ID |
host |
字符串 |
必填 |
Master主服务器的主机地址 |
port |
数字 |
必填 |
Master主服务器的主机端口 |
args |
字符串 |
可选 |
为node/v8引擎配置的参数,比如--debug:5958。 |
服务器集群配置server.json
$ vim game-server/config/servers.json
{
"development":{
"gate": [
{"id": "gate-server-1", "host": "127.0.0.1", "clientPort": 3014, "frontend": true}
],
"connector": [
{"id": "connector-server-1", "host": "127.0.0.1", "port": 3150, "clientPort": 3010, "frontend": true},
{"id": "connector-server-2", "host": "127.0.0.1", "port": 3151, "clientPort": 3011, "frontend": true}
],
"chat": [
{"id": "chat-server-1", "host": "127.0.0.1", "port": 3250},
{"id": "chat-server-2", "host": "127.0.0.1", "port": 3251},
{"id": "chat-server-3", "host": "127.0.0.1", "port": 3252}
],
"auth": [
{"id": "auth-server-1", "host": "127.0.0.1", "port": 3350},
{"id": "auth-server-2", "host": "127.0.0.1", "port": 3351},
{"id": "auth-server-3", "host": "127.0.0.1", "port": 3352}
]
},
"production":{
"gate": [
{"id": "gate-server-1", "host": "127.0.0.1", "clientPort": 3014, "frontend": true}
],
"connector": [
{"id": "connector-server-1", "host": "127.0.0.1", "port": 3150, "clientPort": 3010, "frontend": true},
{"id": "connector-server-2", "host": "127.0.0.1", "port": 3151, "clientPort": 3011, "frontend": true}
],
"chat": [
{"id": "chat-server-1", "host": "127.0.0.1", "port": 3250},
{"id": "chat-server-2", "host": "127.0.0.1", "port": 3251},
{"id": "chat-server-3", "host": "127.0.0.1", "port": 3252}
],
"auth": [
{"id": "auth-server-1", "host": "127.0.0.1", "port": 3350},
{"id": "auth-server-2", "host": "127.0.0.1", "port": 3351},
{"id": "auth-server-3", "host": "127.0.0.1", "port": 3352}
]
}
}
服务器集群配置字段选项
字段 |
类型 |
为空 |
描述 |
id |
字符串 |
必填 |
应用逻辑服务器编号 |
host |
字符串 |
必填 |
应用逻辑服务器主机地址,支持IP或域名。 |
port |
数字 |
可选 |
应用逻辑服务器接收RPC请求时所使用的端口,对于后端服务器来说是必须的。 |
clientPort |
数字 |
可选 |
前端服务器几首客户都安链接启用的端口,对于后端服务器而言无需配置。 |
frontend |
布尔 |
可选 |
对于前端服务器需配置为true,省略不配置则默认为false,后端服务器可省略。 |
max-connections |
数值 |
可选 |
前端服务器最大承载链接数量,若超过则后续链接会被connector拒绝。 |
args |
字符串 |
可选 |
提供给node/v8引擎的参数选项 |
框架配置
pomelo框架设置的实现途径包括两种,一种是通过配置文件实现,一种是通过Application.set()
方法进行设置
Application.set()
方法设置的参数根据组件类型而不同
链接配置 connectorConfig
app.set('connectorConfig',
{
connector : pomelo.connectors.hybridconnector,
heartbeat : 10,
useProtobuf : false,
useDict : false
});
配置 |
描述 |
connector |
底层使用的通信connector,默认使用sioconnector。 |
useProtobuf |
是否开启消息的protobuf功能,仅支持hybridconnector。 |
useDict |
是否开启基于字典的路由消息压缩,仅支持hybridconnector。 |
useCrypto |
是否开启通信时的数字签名,仅支持hybirdconnector。 |
encode/decode |
底层connector消息的编码解码函数,不提供则使用系统默认。 |
transports |
仅用于sioconnector,配置socket.io的通信方式,可选websocket、xhr-polling等。 |
会话配置sessionConfig
配置 |
描述 |
singleSession |
是否开启单个用户绑定单个会话,设置为true则禁止用户同时绑定多个会话。 |
pushSchedulerConfig
配置 |
描述 |
scheduler |
scheduler组件具体调度策略配置,默认直接将响应发送给客户端。pomelo提供带缓冲带定时的调度策略。 |
flushInterval |
刷新间隔毫秒时间,默认20毫秒。 |
代理配置proxyConfig
配置 |
描述 |
cacheMsg |
是否开启对RPC消息的缓冲 |
interval |
设置刷新缓存的周期 |
mailBoxFactory |
自定义mailbox工厂函数 |
remoteConfig
配置 |
描述 |
cacheMsg |
是否缓存RPC消息 |
interval |
设置缓存刷新时间周期 |
acceptorFactory |
自定义acceptor工厂函数 |
字典配置dictionaryConfig
配置 |
描述 |
dict |
客户端路由字符串文件的位置,默认使用config/dictionary.json。 |
频道配置 channelConfig
配置 |
描述 |
broadcastFilter |
配置广播的过滤函数,会在执行channel.broadcast时在前端服务器上,消息发送前为每个session进行过滤。 |