node.js 通过tcp方式获取随机端口与使用场景

luoyjx · 2016-10-16 21:16 · 909次阅读

某些场景可能需要动态的获取端口来启动服务,可能服务化场景,不直接硬配置端口。

哈哈,这看来是要为分布式、服务注册、服务发现做准备呢。

/**
 * auto port
 * @authors luoyjx (yjk99@qq.com)
 * @date    2016-10-16 20:42:57
 */
var net = require('net');

var server = net.createServer();
    server.on('error', console.log);
    server.on('listening', function () {
      var port = server.address().port;

      server.close(function () {
        console.log('auto port: %s', port);
      });
    }.bind(this));
// tcp使用端口0表示系统分配端口
server.listen(0);

预想的场景

服务在启动的时候,首先去获取一个可用端口,将自己使用此端口启动,再注册到配置管理中,这样即可实现服务注册了。 配合etcd即可实现服务发现,不过还木有实践。

收藏

暂无评论

登录后可以进行评论。没有账号?马上注册