CNode

NodeJS是否适合做API网关

问答
Aairyland发布于10 年前最后回复9 年前15 回复18698 浏览0 收藏

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

Kong Tyk

查看回复

回复 (15)

L
limaofeng#1·10 年前

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

From Noder

I
i5ting#2·10 年前

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

R
richenlin#3·10 年前

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

A
airyland#4·10 年前
S
suntopo#5·10 年前

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

I
i5ting#6·10 年前

kong比较合适

A
airyland#7·10 年前
引用 suntopo楼主最后的结论是什么呢,有什么推荐的吗

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

S
swfbarhr#8·10 年前

kongjs

A
airyland#9·10 年前
引用 swfbarhrkongjs

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

Z
zysam#10·10 年前

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

D
dingyiming#11·10 年前

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

Y
yakczh#12·10 年前

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

Y
yakczh#14·9 年前
引用 Hi-Rube@yakczh 将对象序列化

@Hi-Rube TypeError: Converting circular structure to JSON

H
Hi-Rube#15·9 年前
引用 yakczh@Hi Rube TypeError: Converting circular structure to JSON

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

参与回复
登录后即可参与回复。登录