在Node.js中启动http服务器时,开发人员可以通过传递0
来监听随机可用的端口,如下所示:
const http = require('http')
const service = require('../my/service);
const server = http.createServer(service)
server.listen(process.env.PORT || 0) // <-- Random port by default!
我想知道如何使用gRPC做同样的事情?像...
const grpc = require('grpc')
const services = require('./service_grpc_pb')
const server = new grpc.Server()
server.addService(services.MyService, { ... })
server.bind('0.0.0.0:0', grpc.ServerCredentials.createInsecure())
server.start()
行得通吗?我还没有找到答案。我的目标是获取一个随机端口,然后查询服务器以获取分配的端口,以便在中央微服务注册表中注册该服务。
谢谢您的帮助。
答案 0 :(得分:1)
是的,您可以使用端口号0
来为gRPC服务器分配一个随机端口。 server.bind
方法返回实际分配的端口号。如果您想使用bindAsync
方法,则分配的端口号将传递给回调。