Goku-API-Gateway

基于 go 语言的 API 网关
授权协议 GPL
开发语言 Google Go
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 国产
投 递 者 龚睿
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

为什么要使用Goku

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。
  • 多租户管理:根据不同的访问终端或用户来判断。
  • 访问鉴权:Basic、API Key等。
  • API监控:请求数据统计。
  • API告警:支持通过API、邮件方式对异常的服务进行告警。
  • 灵活的转发规则:支持模糊匹配请求路径,支持改写转发路径等。
  • 插件系统:基于 Go 语言的插件系统,可以快速开发高性能的插件。
  • 性能扩展:网关节点拥有良好的处理性能,支持水平扩展节点数量满足不同的性能需求。
  • 日志:详细的系统日志、请求日志等。
  • Open API:提供 API 对网关进行操作,便于集成。

迭代计划

  • 服务编排:包括参数传递、出参处理(字段过滤、重命名、拆包封包、移动)。
  • 动态路由:根据请求参数进行路由 ...

 

基准测试

基准测试详情

 

安装使用

  • 前言 最近想学习一下网关相关的知识,搜了一下,看到有个悟空API网关的项目。文档图文并茂,又是企业级别的,决定就是它了,项目地址:GOKU-API-Gateway 问题 看在源码之前,得先定一下目标,盲目地看代码容易迷失。在看了官方的文档和跟着文档搭起来试用了一下之后,定下了下面这些目标。 GOKU-API-Gateway监控信息如何收集?如何存储? 如何做到高效的转发? QPS限制,在分布式的情

  • 一. 简介 GoKu API Gateway,中文名:悟空API网关,是国内首个开源go语言API网关,帮助企业进行API服务治理与API性能安全维护,为企业数字化赋能。 GoKu API Gateway,支持OpenAPI与微服务管理,支持私有云部署,实现API转发、请求参数转换、数据校验等功能,提供图形化界面管理,能够快速管理多个API网关,提高API业务安全性。 二、特性 1、免费且开源:G

 相关资料
  • 我试图遵循Google Sheets API快速入门: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchUpdate (向下滚动到示例,然后单击GO) 以下是我尝试更新电子表格的方式: 输出: hello.go:43:结构初始化器中无效的字段名ValueInputOption h

  • Gateway是一个使用go实现的基于HTTP的API 网关。 特性: API 聚合 流控 熔断 负载均衡 健康检查 监控 消息路由 后端管理WebUI 能做什么: 规划更友好的URL给调用者。 聚合多个API的结果返回给API调用者,利于移动端,后端可以实现原子接口。 保护后端API服务不会被突发异常流量压垮。 提供熔断机制,使得后端API Server具备自我恢复能力。 借助消息路由能力,实现灰度发布,AB测试。

  • Go是一门类似C的编译型语言,但是它的编译速度非常快。这门语言的关键字总共也就二十五个,比英文字母还少一个,这对于我们的学习来说就简单了很多。先让我们看一眼这些关键字都长什么样: break default func interface select case defer go map struct chan e

  • 什么是 Go 语言 Go 语言 Golang 是 Google 公司 2009 年推出的一门 高级编程言语,目的是为了解决: 现有主流编程语言 明显落后于硬件发展速度的问题 不能合理利用多核CPU的优势提升软件系统性能的问题 软件复杂度越来越高, 维护成本也越来越高的问题 企业开发中不得不在快速开发和性能之间艰难抉择的问题 科普小知识 1. 静态语言 1.1 一般都需要通过编译器(compiler

  • 上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。 Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") 6 个标记是(每行一个): 1. fmt 2. . 3. Println 4. ( 5. "Hello, World!"