pomelo servers.json多个逻辑服务器时配置路由

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/themagickeyjianan/article/details/88770340

1)通过app.route为玩家根据uid设置分配的服务器

app.configure('production|development', function() {
  app.before(pomelo.filters.toobusy());
	app.enable('systemMonitor');
  require('./app/util/httpServer');

	//var sceneInfo = require('./app/modules/sceneInfo');
	var onlineUser = require('./app/modules/onlineUser');
	if(typeof app.registerAdmin === 'function'){
		//app.registerAdmin(sceneInfo, {app: app});
		app.registerAdmin(onlineUser, {app: app});
	}
	//Set areasIdMap, a map from area id to serverId.
	if (app.serverType !== 'master') {
		var areas = app.get('servers').area;
		var areaIdMap = {};
		for(var id in areas){
			areaIdMap[areas[id].area] = areas[id].id;
		}
		app.set('areaIdMap', areaIdMap);
	}
	// proxy configures
	app.set('proxyConfig', {
		cacheMsg: true,
		interval: 30,
		lazyConnection: true
		// enableRpcLog: true
	});

	// remote configures
	app.set('remoteConfig', {
		cacheMsg: true,
		interval: 30
	});

	// route configures
	app.route('area', routeUtil.area);
	app.route('connector', routeUtil.connector);

	app.loadConfig('mysql', app.getBase() + '/../shared/config/mysql.json');
	app.filter(pomelo.filters.timeout());

  /*
  // master high availability
  app.use(masterhaPlugin, {
    zookeeper: {
      server: '127.0.0.1:2181',
      path: '/pomelo/master'
    }
  });
  */
});

总结:

比如当:聊天服务器、场景服务器由多个时,那么就需要在app.js相应的服务器配置中设定路由分配策略;

由于每个进程上数据时相互独立的,为了学习方便,因此只要每个服务器先采用一个进程,那么,每个服务器可以写单独的数据管理类;

猜你喜欢

转载自blog.csdn.net/themagickeyjianan/article/details/88770340
今日推荐