技术趣读 | 自定义插件的API网关—Kong
当年搞实体经济发家的绿林好汉们可能不会想到几千年后的现代人还在用此玩意吆喝,而且还发扬光大,不仅实体经济(高速公路收费站)还在用,还普及到整个互联网经济——网关。
收费站自然是收费,但也兼监控设卡的功能,而网关过滤访问请求,也具有相同的功效,从基础功能上讲其实两者没多大差别,要说有区别,自然是实体经济自然干不过互联网经济,要不怎么说一机在手,吃喝不愁啊!
在互联网经济里,运维兄弟们只要操作一通键盘就什么都有了,可别不信,像类似ETC绿色通道要放在网关这里根本就不算啥,搞个简单策略基本完事。
好,网关是啥玩意现在搞清楚了,而这在软件方面具有代表性的则为开源的Nginx,大部分企业都还在使用,由于前不久被F5收购,以后是否还开源就不得而知,有这方面需求的兄弟们可得抓点紧,过这村可就没这个店了。据江湖传闻一般开源的软件被企业收购后就很难开源了,即便部分开源也是日落西山,不过现实的确如此,否则企业拿什么赚钱呢?光赚个吆喝那肯定是不行的。
大名鼎鼎的Nginx强大功能和性能咱就不多嘴了,不清楚的可以去网上搜一把,否则F5也不会掏真金白银的。现在我们要说的Kong就是基于Nginx上构建的API网关,可谓是站在巨人的肩膀上,确实是风光无限,而且难得的是还开源,更可贵的是还上了知名Gartner的排行榜,API网关在开源领域原本就凤麟毛角,这可乐坏了咱们一帮吃瓜群众。
先别乐,咱接着说,还有下文
API网关的兴起来自微服务技术的成熟与落地,微服务需要对外提供API接口,如何保障API接口的访问安全便成了急需解决的问题,而API网关就由此而来。
Nginx能干API网关的活不?
答案是肯定的,但你得开发Nginx插件,前提要懂C/C++编程语言,开发完插件模块后还要联合编译才行,这对程序猿来讲不是什么难事,可要放在运维人员身上······
看到开发兄弟玩的不亦乐乎,运维兄弟自然也想玩一把,咋办呐?
学C/C++编程就算了,光学习难度不说,咱本就不是一条道上的。
而Kong的出现终于可以让运维兄弟愉快的玩耍了,Kong的所有功能插件全部由lua脚本语言编写,模块插件开发后不再需要重新编译即可配置直接使用,真正做到了即插即用模式。
现在知道了Kong支持自定义插件基于Lua脚本语言开发,那么Kong又是怎么和Nginx互动的呢?