Soul 是一个异步的,高性能的,跨语言的,响应式的API网关。今天先来整体了解一下 Soul 的结构。
Soul 架构图
两大部分:Soul-Admin(Soul 网关管理系统) 和 Soul-Cluster(网关Soul 集群)
soul-admin (soul 网关的管理系统)
soal-admin 依赖 MySQL,首先我们创建 soul 数据库,创建所需要的表,一共 12 个。
然后启动 soul-admin
soul-admin 默认端口 9095 ,访问 http://localhost:9095/index.html
soul-bootstrap(Soul 网关)
soul-bootstrap 代码很少。HealthFilter 过滤器优先级很高@Order(-99),请求url如果不是 “/actuator/health”, "/health_check"就会放行到下一个环节进行处理。这块的代码,感觉跟用 Spring Cloud Gateway 很像,都是通过 Exchange 做转发,通过过滤器做请求的拦截。
public final class HealthFilter implements WebFilter {
private static final String