最近需要设计一个 node.js 的网关.
简单来说就是一个 nodejs 的反向代理.
Spring 全家桶 里面有 Zuul 这个看门口
网上都看了一圈 有这么几个选择
为了避免造轮子,想跟诸位老哥请教一下.
说一下我们基本的需求:
再次 谢过
![]() |
1
chogath 2020-12-04 10:30:57 +08:00 ![]() 可以参考下 `@acheetahk/request` 的 fastProxy
|
![]() |
2
chogath 2020-12-04 10:32:18 +08:00
|
![]() |
3
chogath 2020-12-04 10:32:31 +08:00
有问题可以给我提 issue
|
![]() |
4
kenshinhu 2020-12-04 15:01:10 +08:00
kong gateway
|
![]() |
6
qfdk OP @chogath humm 回头我好好看一下 不想造轮子
生产环境用一个开源项目要看下后面的生态的 还有文档等等. 感谢🙏 |
![]() |
7
chogath 2020-12-07 10:07:12 +08:00 ![]() @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 |
![]() |
8
chogath 2020-12-07 10:08:50 +08:00
我是用的 1 + 3,1 适合常规业务直接调用,3 适合服务间调用(指多个服务调用,或者形成了调用链)
|
![]() |
10
qfdk OP @chogath 感谢你先 现在看了好几套方案 明天跟同事一起聊一下看看要不要自己做一个. express Gateway 里面坑有些多 开源的大多数不够活跃 最后一次提交都在 1 年多了. 加上一些 redis 的库也没法用. 初步考虑可能用 koa2. 毕竟 Gateway 主要是为了性能来的. 您的建议很好👍
|
![]() |
11
qfdk OP ∫好了 现在 开始撸轮子了,基于 https://github.com/chimurai/http-proxy-middleware 鉴权用 passport
|
![]() |
12
qfdk OP 已经上线了!
|