跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 基于 node.js 的网关设计.
未分類
18 11 月 2020

基于 node.js 的网关设计.

基于 node.js 的网关设计.

資深大佬 : qfdk 4

最近需要设计一个 node.js 的网关.

简单来说就是一个 nodejs 的反向代理.

Spring 全家桶 里面有 Zuul 这个看门口

网上都看了一圈 有这么几个选择

  • express-gateway
  • http-proxy

为了避免造轮子,想跟诸位老哥请教一下.

说一下我们基本的需求:

  • 高性能
  • 可以发送静态页面
  • 可以鉴权认证 初步 准备 JWT + oauth2 (我们 gateway 是有状态的,我们会把 token 给存在 Redis 里面 然后给客户一个 session, 避免用户之间用 token 来调用我们后端)
  • 可以加 CSRF
  • 根据权限来过滤请求

再次 谢过

大佬有話說 (9)

  • 資深大佬 : chogath

    可以参考下 `@acheetahk/request` 的 fastProxy

  • 資深大佬 : chogath

    https://github.com/A-CheetahK/acheetahk/tree/master/packages/request

  • 資深大佬 : chogath

    有问题可以给我提 issue

  • 資深大佬 : kenshinhu

    kong gateway

  • 主 資深大佬 : qfdk

    @kenshinhu 这个看到了 不过不是 nodejs 的技术栈 虽然性能厉害

  • 主 資深大佬 : qfdk

    @chogath humm 回头我好好看一下 不想造轮子
    生产环境用一个开源项目要看下后面的生态的 还有文档等等. 感谢

  • 資深大佬 : chogath

    @qfdk node.js 没有单独做网关的开源包,有的只是零散的方法,目前来看方案有三种:

    1. 使用 http request pipe 重写,代理到目标服务器完成请求转发
    2. 使用 websocket 的方式完成请求转发 # https://docs.nestjs.cn/7/websockets # 参考资料来自 nest.js
    3. 使用 grpc 自己实现 interface + 协议 + 传输格式 + 异常信息定义 # https://docs.nestjs.cn/7/microservices?id=grpc #参考资料来自 nest.js

  • 資深大佬 : chogath

    我是用的 1 + 3,1 适合常规业务直接调用,3 适合服务间调用(指多个服务调用,或者形成了调用链)

  • 資深大佬 : chogath

    @qfdk 我建议你先吧目前你觉得合适的方案跑成 demo,做一下性能压测和各方面的评估。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具