我们的开源网关又回来了——GOKU API Gateway新版本!

原创
2019/09/28 15:46
阅读数 2.1K

许久没有更新着实抱歉,这一年过得飞快,转眼又到了国庆节前夕。我偶尔会有登上来OSC看看新闻,每次我打开网页总能看到有很多朋友私信我,问EOLINKER为什么停止了AMS的开源——一言难尽,非常感谢大家的支持,也非常抱歉。没能顶住压力继续开源AMS服务,这个是我们不愿意见到的事情,但我们会继续努力,争取让AMS尽早重返开源大家庭,也请大家继续支持EOLINKER的服务,欢迎大家前往官网给我们支持。

但是!重要的往往在但是后面……时隔一年,我们也不是什么都没有干的!这次我们为大家重新带来了EOLINKER GOKU API Gateway2.0的开源服务!此前的开源项目我们看了下……惨不忍睹,于是乎我们决定对网关开源产品进行了重构。AMS我们无法给大家继续提供开源服务,但至少网关可以啊!很多朋友问我们为什么要做悟空网关(不是为了蹭动画热度=。=),那是因为我们有着一个梦想。

EOLINKER 自2016推出产品,2017年正式成立公司,一直立志于做全球领先的 API 管理平台,我们先是做了目前国内最大的在线API管理平台(API Studio),然后在18年发布了支持API场景(多个API关联和数据传递)的API监控(API Beacon),今年我们在思考还能为企业客户提供什么更加深度的服务时,认为API网关是一个关键的环节,能够帮助企业综合管理企业内部的微服务API、更方便地对接第三方API以及更好地维护对外的API等。

可以说API网关是我们在深入API管理领域几年之后自然而然要做的事情,在开源了AMS即API Studio项目获得了大量的关注和支持之后,我们深受大家的鼓舞和支持,于是乎做了一个更加大胆的决定:将核心代码全部开源,并且不限制网关的节点,提供完整的管理界面,让用户可以部署完成后立即投入使用。

有人可能会质疑,为什么我们开源网关而不开源接口管理AMS的项目,在这里我稍加说明一下:开源代码无论在何时都是一个大胆的决定,首先EOLINKER从2017开始就是一个商业公司而不是公益开源基金会,开源意味着有一大部分收入的流失,同时也是进一步加重企业负担的一种做法,我们需要投入大量的研发和维护,还要安排人手去迭代更新,这对于EOLINKER这个新生的企业无疑是很沉重的压力。放眼全球的开源产品几乎都是不盈利的,除了个人以外,就是有着大量的支持和广告,EOLINKER的员工也是需要工作维生的,EOLINKER的全体人员也承受着生活的压力。一味的指责和伸手要求开源方,同时一边做着“真香”的举措,无疑这种面孔是不道德的。

那我们为什么还要将一个公司的核心产品开源?因为我们相信绝大部分人都不是伸手党,都可以理解为什么我们会迫于无奈;同时,一个公司的力量实在有限,如果我们希望把 Goku API Gateway 做到全球一流的水平,将中国的技术产品输出到海外去,开源社区和开发者的力量是必不可少的,因此这产品里面包含着我们的希望和情怀,希望证明在中国,像我们一样专注基础技术领域的企业也能有好的未来。

所幸的是我们并不孤独,在我们前面有 Dubbo、TiDB 等优秀的开源项目,相信他们也和我们一样抱有希望在做着类似的事情。因此我们将 Goku API Gateway 开源,正如它的中文名称 “悟空” 一般,能在开源社区和我们的共同努力下完成72变。

下面是对新版Goku API Gateway CE的介绍,欢迎大家关注!

Goku API Gateway CE 简介

Goku API Gateway (中文名:悟空 API 网关)是一个基于 Golang 开发的微服务网关,能够实现高性能 HTTP API 转发、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展,并且提供友好的图形化配置界面,能够快速帮助企业进行 API 服务治理、提高 API 服务的稳定性和安全性

为什么要使用 Goku API Gateway?

Goku API Gateway (悟空 API 网关)是运行在企业系统服务边界上的微服务网关。当您构建网站、App、IOT甚至是开放API交易时,Goku API Gateway 能够帮你将内部系统中重复的组件抽取出来并放置在Goku网关上运行,如进行用户授权、访问控制、流量监控、防火墙、静态数据缓存、数据转换等。

Goku API Gateway 的社区版本(CE)拥有完善的使用指南和二次开发指南,代码使用纯 Go 语言编写,拥有良好的性能和扩展性,并且内置的插件系统能够让企业针对自身业务进行定制开发。并且 Goku API Gateway 支持与 EOLINKER 旗下的 API Studio 接口管理平台结合,对 API 进行全面的管理、自动化测试、监控和运维。

总而言之,Goku API Gateway 能让业务开发团队更加专注地实现业务。

Stargazers over time

产品特性

  • 集群管理:多个 Goku API Gateway 节点,配置信息自动同步,支持多集群部署。

  • 界面管理后台:通过清晰的UI界面对网关的各项配置进行管理。

  • 负载均衡:对后端服务器进行负载均衡。

  • 服务发现:从 Consul、Eureka 等注册中心发现后端服务器。

  • 转发代理:通过转发请求来隐藏真实后端服务,支持 Rest API、Webservice。

  • 服务编排:支持backend间的参数传递,返回数据支持字段的过滤、删除、移动、重命名、拆包和封包,设定编排调用失败时的异常返回。

  • 多租户管理:根据不同的访问终端或用户来判断。

  • 访问鉴权:Basic、API Key等。

  • API监控:请求数据统计。

  • API告警:支持通过API、邮件方式对异常的服务进行告警。

  • 健康检查:动态发现异常的网关节点以及后端节点,自动切断转发流量并转到其他正常后端服务。

  • 异常自动重启:网关节点异常时会自动尝试重载重启。

  • 灵活的转发规则:支持模糊匹配请求路径,支持改写转发路径等。

  • 插件系统:基于 Go 语言的插件系统,可以快速开发高性能的插件。

  • 性能扩展:网关节点拥有良好的处理性能,支持水平扩展节点数量满足不同的性能需求。

  • 日志:详细的系统日志、请求日志等。

  • Open API:提供 API 对网关进行操作,便于集成。

  • ……

产品截图

【首页】

首页可以了解网关的基本信息,例如访问策略数、API数等,还可以了解请求和转发的情况,例如成功率等。

【网关节点】

网关支持集群化管理,进入不同的集群可以管理相应的节点。

【服务注册方式】

您可以通过静态或动态的方式来注册(发现)您的后端服务,创建好服务注册方式后,您可以在某个方式的基础上创建一个或多个负载(Upstream)。

【负载配置】

配置API的转发目标服务器(负载后端),创建之后可以设置为 API 的转发地址 / 负载后端(Target / Upstream)。

【接口管理】

支持创建并管理API文档,并且支持导入API文档项目。

【访问策略】

您可以给不同的调用方或应用设置访问策略,不同的访问策略可以设置不同的 API 访问权限、鉴权方式以及插件功能等。

【告警设置】

针对异常API可以设置告警提醒,支持邮件和Webhook通知。

【扩展插件】

插件系统除了提供官方插件,也可以添加自定义的网关插件。

【日志设置】

提供详细的请求日志和系统运行日志,请求日志可以自定义记录字段;运行日志可以根据情况调整记录等级:ERROR、INFO、DEBUG等。

展开阅读全文
打赏
2
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
2
分享
返回顶部
顶部