【问题标题】:Can grpc and express server run by same nodejs server, or grpc has to be different servergrpc和express服务器可以由同一个nodejs服务器运行吗,或者grpc必须是不同的服务器
【发布时间】:2019-11-14 18:53:35
【问题描述】:

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

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

  • 我尝试了这种方法,我认为这是要走的路。
  • @Asutosh 您是否介意添加自己的答案或扩展此答案以显示您实际上是如何做到的?谢谢。
【解决方案2】:

这就是我所做的,基本上是在 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");
  });

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 2019-01-16
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    相关资源
    最近更新 更多