Manba is a restful API gateway based on HTTP, which can be used as a unified API access layer.
A very detailed tutorial for beginners. Link Below are video tutorials. Basics:
Alternative bilibili.com video link: https://www.bilibili.com/video/av73432556/
Routing Configuration Tutorial:
Alternative bilibili.com video link: https://www.bilibili.com/video/av73432836/
JWT Plugin Configuration Tutorial:
Alternative bilibili.com video link: https://www.bilibili.com/video/av73433002/
Please make sure your Go version is 1.10 or above. Otherwise, undefined "math/rand".Shuffle error will occur when compiling. StackOverFlow Link
The following content requires reader some knowledge of Docker. You can refer to this book, or check out the official documentation。
fagongzi/proxy
proxy component, production ready
fagongzi/apiserver
apiserver component, production ready
docker-compose up -d
Use http://127.0.0.1:9093/ui/index.html
to access apiserver
Use http://127.0.0.1
to access to your API
Available Manba Web UI Projects:
Manba consists of proxy
and apiserver
.
Proxy is a component which provides service to clients. Proxy is a stateless node. Multiple proxies can be deployed to handle huge traffic. More.
ApiServer provides GRPC and Restful to manage metadata for users. ApiServer integrates official Web UI. More.
A server is a a real backend service. More.
Cluster consists of servers which provide the same service. A server is chosen to handle a specific request based on a load balance strategy. More.
API is a key concept of Manba. We can manage external APIs in Manba and their distribution rules, aggregation rules and URL matching rules. More.
Routing is a route strategy. Cookie, Querystring, Header and Path in HTTP Request dictate traffic distribution and traffic duplication to a specific cluster. Through this feature, AB test and online traffic divertion is achieved. More.