Skip to content
项目

fagongzi/manba has 3,304 GitHub stars and 746 forks. GitHot measured 0 stars in 24 hours and -1 in 7 days. Last checked 2026-11-11 06:28 UTC. Last push 2023-07-12.

这些数字如何统计

HTTP API Gateway

可以做什么

  • Traffic Control (on Server or API)
  • Circuit Breaker (on Server or API)
  • Service Discovery
  • Routing (Divert Traffic, Duplicate Traffic)

实测星标增长

24小时
0
7天
-1
15天
更新延迟
1个月
更新延迟

各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。

README_CN.md

原文

Gitter Build Status Go Report Card

Manba/English

Manba是一个基于HTTP协议的restful的API网关。可以作为统一的API接入层。

教程

如果你是一个初学者,那么这个详细的教程非常适合你。现在只有英文版本。

注意

请确保你的Go版本是在1.10或者之上。用1.10之前版本的Go编译时会出现undefined "math/rand".Shuffle错误。StackOverFlow链接

Features

  • 流量控制(Server或API级别)
  • 熔断(Server或API级别)
  • 负载均衡
  • 服务发现
  • 插件机制
  • 路由(分流,复制流量)
  • API 聚合
  • API 参数校验
  • API 访问控制(黑白名单)
  • API 默认返回值
  • API 定制返回值
  • API 结果Cache
  • JWT Authorization
  • API Metric导入Prometheus
  • API 失败重试
  • 后端server的健康检查
  • 开放管理API(GRPC、Restful)
  • 支持websocket
  • 支持在线迁移数据

Docker

以下内容要求对docker基本操作有一定了解,可以看这本书,或者直接看官方文档。

Quick start with docker-compose

docker-compose up -d

使用 http://127.0.0.1:9093/ui/index.html 访问 apiserver

使用 http://127.0.0.1 访问你的API

架构

WebUI

可用的Manba的WebUI的项目:

组件

Gateway由proxy, apiserver组成

Proxy

Proxy是Gateway对终端用户提供服务的组件,Proxy是一个无状态的节点,可以部署多个来支撑更大的流量,更多。

ApiServer

ApiServer对外提供GRPC和Restful来管理元信息,ApiServer同时集成了官方的WebUI,更多。

Manba中的概念

Server

Server是一个真实的后端服务,更多。

Cluster

Cluster是一个逻辑概念,它由一组提供相同服务的Server组成。会依据负载均衡策略选择一个可用的Server,更多。

API

API是Manba的核心概念,我们可以在Manba的中维护对外的API,以及API的分发规则,聚合规则以及URL匹配规则,更多。

Routing

Routing是一个路由策略,根据HTTP Request中的Cookie,Querystring、Header、Path中的一些信息把流量分发到或者复制到指定的Cluster,通过这个功能,我们可以实现AB Test和线上引流,更多。

参与开发

更多

交流方式-微信

探索相关项目