可以由同一nodejs服务器运行grpc和express服务器,或者grpc必须是不同的服务器

时间:2019-07-04 05:11:20

标签: javascript node.js express grpc grpc-node

我正在尝试创建一个基于Node / Express的REST服务器。如何在同一REST服务器中添加GRPC服务器,或者必须是完全不同的NodeJS服务器,而该NodeJS服务器将仅托管GRPC服务器。

2 个答案:

答案 0 :(得分:1)

您不能将gRPC服务器添加到Express服务器。您可以在与Express服务器相同的过程中运行gRPC服务器,但是它们将在单独的端口上运行并独立运行。

答案 1 :(得分:0)

这是我所做的,基本上是在Express的listen回调上触发GRPC服务器启动的

import express from "express";

import { Server,  ServerCredentials } from "grpc";

const server = new Server();
server.bind('0.0.0.0:50051', ServerCredentials.createInsecure());

const router = express.Router();

express()
  .use("/", router)
  .listen(3000, () => {
    server.start();
    console.log("listening");
  });