Soul - Introduction to Soul API gateway
Introduction
Soul API gateway was designed and developed by the Dromara group. It referenced well-known API gateways like Kong, Spring Cloud Gateway. The latency passed by Soul is incredibly low as less than 2ms.
Soul offers an admin-dashboard, which provides utilities to handle traffic control, blocking requests, and routing rules.
There are plugins integrated with Soul like authentification, rate limiting, circuit-breaker, firewall, etc.
Installing Soul(2.2.1)
Environmental requirements:
- JDK 1.8+
- Maven 3.2.x
- Git
- MySQL(or using embedded H2)
- clone from Github
git clone https://github.com/dromara/soul
- compile source code with maven
mvn clean package install
or skip tests and doc generation with
mvn clean package install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true
If you get any trouble when compiling using OpenJDK, try running with Oracle JDK.
After compiling, launch SoulBootstrapApplication and SoulAdminBootstrap, these 2 apps will connect through WebSocket by default.
soul-admin will create a database named "soul" and fills init data to tables.
You can change the configuration synchronization way by edit the application.yml in the resources folder of the soul-bootstrap submodule.
By opening http://localhost:9095, after typing in the default username(admin) and password(123456), we can log in to the admin account.
We can manage plug-ins and get system info from the tabs on the left.