以鉴权为例,介绍如何快速开发一个插件
2021,8,14 技术分享


Goku 网关由于采用了模块化的设计,你几乎可以扩展其中的所有功能,为了方便大家了解如何扩展Goku,我这里花几分钟的时间演示如何去开发Goku的鉴权插件。

首先来了解一下goku网关执行的流程,客户端发送请求给网关,当路由模块匹配成功后,会将请求下发到服务模块,在这个过程中如果配置了鉴权模块,则会先进行身份认证,符合条件的请求才会最终下发到负载均衡模块,配合服务发现,最终转发到后端服务。

Goku 快速部署及使用演示
2021,8,14 技术分享

Goku网关的部署提供了以下两种安装方式:通过安装包安装、源码编译安装。

Goku网关的安装非常简单,使用安装包安装的方式,从下载到安装成功仅仅只要几秒钟。而启动也仅需一条命令,可以指定各种运行参数,包括网关的http和https监听端口、ssl证书文件及配置文件的路径。若不填写任何运行参数则默认网关http监听8081端口。值得一提的是,后续我们将会支持更多种安装方式,包括一键部署脚本,Docker和k8s。用户可以根据需求来选择合适自己的安装方式。

Goku Gateway 的前世今生
2021,8,14 技术分享

大家好,我是孟柱,目前是Goku的架构师。

今天很开心可以和大家分享我们在过去几年在Goku网关上做的一些事情,也希望和大家多多交流。

首先来讲一下我们为什么要做一个新的API网关。

Eolinker自建API网关产品的想法从2017年就有了,当时我们团队有以下的考虑:

首先是公司的愿景使命驱动,因为Eolinker 是一家致力于发展API经济的技术公司,我们目前已经为数十万开发者提供了强大的API管理和测试工具,而API网关是API流量管理和微服务架构的重要组成部分,我们希望能够填补这块的技术空白,并且结合现有产品为用户提供更大的价值 。

其次是业务驱动,我们首先是网关的使用者,其次才是开发者。因为Eolinker 的产品本身有使用API网关的需求,比如我们的SaaS产品和API交易平台,市面上的API网关在数据处理方面做得不好,比如针对多个服务数据的整合、编排等。无法满足我们业务的需求。因此干脆就考虑自己来做。

最后是技术驱动:

当时我们调研过市面上的大部分网关,大多基于第三方产品开发,拥有较多的依赖和技术包袱,不便于后续深度开发和扩展,我们希望能够做一个性能优异、功能强大、使用简单的网关产品,只能从头开始设计开发。

以上三点最终推动了我们从网关的使用者变成一个开发者,并将Goku网关从18年逐步迭代到现在。


文章分类

  • 技术分享 (3)