我学xingo golang服务器之-xingo的单进程,集群服务器的配置和初
我学xingo golang服务器之-xingo的单进程,集群服务器的配置和初始化过程上一节
代码调用utils.GlobalObject,这变量什么时候初始化的? 现在我们看看xingo/utils/globalobj.go: golang规定包内init()在main()之前运行 从而可以确定,xingo的配置初始化就在xingo/utils/globalobj.go init()函数进行初始化,写好server.json 就可以启动服务器了:
{
"WriteList": ["10.211.55.4"],//telnet ip list 用于单机模式
"DebugPort": 8881,//telnet port 用于单机模式
"TcpPort": 8999,//监听端口
"StepPerMs": 2000,//demo逻辑配置,非通用配置项
"PoolSize": 5,//工作队列数
"IsUsePool": true,//是否使用工作队列
"LogLevel": 1,//日志级别 0 ALL 1 DEBUG 2 INFO 3 WARN 4 ERROR 5 FATAL 6 OFF
"MaxConn": 2000 //支持最大连接数
}
了解了配置和配置启动过程,我做了个流程图(参考): 现在我们分解一下集群服务器的配置和初始化过程: {
"master":{"host": "127.0.0.1","rootport":9999,"debugport":8881,"writelist": ["127.0.0.1"]},"servers":{ "gate1":{"host": "127.0.0.1","rootport":10000,"name":"gate1","module": "gate","log": "gate.log"},"gate2":{"host": "127.0.0.1","rootport":10001,"name":"gate2","net1":{"host": "127.0.0.1","netport":11009,"debugport":11007,"name":"net1","remotes":["gate1","gate2"],"module": "net","log": "net.log"},"net2":{"host": "127.0.0.1","netport":11010,"name":"net2","net3":{"host": "127.0.0.1","netport":11011,"name":"net3","net4":{"host": "127.0.0.1","netport":11012,"name":"net4","admin1":{"host": "127.0.0.1","remotes":["gate2","gate1"],"name":"admin1","module": "admin","http": [8888,"/static"]},"game1":{"host": "127.0.0.1","name":"game1","module": "game"} } }
xingo_cluster/conf/server.json: {
"TcpPort": 8999,"StepPerMs": 2000,"PoolSize": 1,"LogLevel": 2,"MaxConn": 20000,"LogPath": "/Users/huangxin/workspace/src/xingo_cluster/log","LogName": "cluster.log" }
可以看到xingo_cluster/conf/server.json配置很基础,主要是tcp配置; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |