littlebot
Published on 2025-04-18 / 0 Visits
0

【源码】基于Go语言的服务网关Guardian Angel

项目简介

Guardian Angel是一款基于Go语言的轻量级服务网关中间件,适用于面向服务的架构。它能够把客户端请求转发到后端服务,并且在转发过程中可通过自定义中间件对请求进行处理,如日志记录、调试、身份验证等。

项目的主要特性和功能

  1. 支持用Golang插件自定义中间件,有多种现成中间件,可作为OpenAI网关、进行JWT解码、管理令牌、基于OpenAPI规范授权和验证请求参数、打印调试信息等。
  2. 具备可插拔的中间件架构,能处理请求或响应,包含日志记录、身份验证、限流等功能。
  3. 拥有灵活的转发规则,可基于路径和方法进行请求转发,将请求导向不同后端服务。
  4. 提供身份验证和权限控制,支持基于JWT的身份验证以及基于OpenAPI规范的权限控制。
  5. 支持使用etcd作为统一分布式存储,主程序和中间件均可利用其存储和读取数据及配置。
  6. 集成了测试框架和工具,便于进行单元测试和集成测试。

安装使用步骤

  1. 确保已安装Go语言开发环境,且已下载本项目的源码文件。
  2. 依据项目的config.go文件示例,创建或修改配置文件。
  3. 运行main.go文件中的main函数,启动Guardian Angel服务。
  4. 运行提供的测试用例,确保服务正常工作。
  5. 根据实际业务需求,扩展或自定义中间件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】