This is a awesome microservices project used to analysis projects about microservices. Four questions will be analysised for each project about microservices: What problem does this project want to solve, Who does this project compare to, Advantage, Disadvantage. You can find more index project here.
As the name says that API gateway is the door of the backend. It deliver the requests from client to the right backend server. It has three main functions: Authentication, Service routing and Load balance.
| Project Name | Main Language | Github stars | Analysis |
|---|---|---|---|
| Kong | Lua | Kong | |
| Ocelot | C# | Ocelot | |
| apisix | Lua | apisix | |
| manba | Go | manba | |
| soul | Java | soul | |
| goku-api-gateway | Go | goku-api-gateway | |
| gravitee-gateway | Java | gravitee-gateway | |
| express-gateway | Javascript | express-gateway | |
| tyk | Go | tyk | |
| janus | Go | janus | |
| orange | Lua | orange | |
| ambassador | Python | ambassador | |
| microgateway | Javascript | microgateway |
There are many logic configurations that you don't want bind them with the binary package or docker image. To decoupling the modification of logic configurations and service release. We need to build a configuration center to store the configurations of each service. By using configuration center developers can change the configuration values without rebuild, restart or deploy the service.