NodeJS是否适合做API网关
发布于 8 年前 作者 airyland 17309 次浏览 来自 问答

调研中,有没有同学用NodeJS来实现API代理网关,实现包括ratelimit, JWT,访问统计,性能统计等等在内的一些功能? 了解到的API网关包括Kong和Tyk是用lua或者Go实现的,按照NodeJS的特性来实现似乎也没什么问题,但是担心有什么坑没有考虑到。不用Kong或者Tyk是担心不可控,不方便扩展。 从Github上看似乎只有Loopback开发过类似的 https://github.com/strongloop/strong-gateway,不过被IBM收购了。

Kong Tyk

15 回复

我也在找类似的方案!如果有解决办法分享下呗。或者可以考虑直接开个项目一起玩

From Noder

有的,不过没开源而已,@xeodou 写过,网上应该有他的ppt

个人觉得用lua,openresty来做这个更适合

@richenlin 为什么呢?

楼主最后的结论是什么呢,有什么推荐的吗

kong比较合适

@suntopo 你这是挖坟。。 本来是想把上面提到的功能变成独立于业务之外的网关来实现,最终因为各种原因,直接在业务代码中用类似于 middleware 的形式实现了。

@swfbarhr 并没有这个东西吧。kong并没有js的实现。

试试这个,项目挺新的。可以参考设计,自己造轮子。我也想实现一个简单的网关,内部用。https://github.com/Vizzuality/api-gateway

是否没有比较合适的 基于 Node的 api网关的实现?还是得学一波 kong 的样子

比如用cluster起4个进程 master进程监听 80端口  slave A,B,C,D 进程监听81端口  然后 master 接收到 请求链接 把这个连接实例 转发给 A 或者B进程来处理   用cluster试了一下,进程间通讯只能传字符串,不能传对象实例  有人知道其他的实现方法吗

@yakczh 将对象序列化

@Hi-Rube TypeError: Converting circular structure to JSON

@yakczh 不是直接转JSON 啊= =,序列化方法要你自己定义额= =

回到顶部