Soul源码分析 —— 初体验
啥是Soul
soul是一个异步的, 高性能的, 跨语言的, 响应式的API网关。
soul核心Features
提供了诸如限流、熔断、转发和路由监控等插件
Soul是如何做到代理服务
本质上它在服务之前增加了一层代理,在被代理服务启动时通过环境参数中的adminUrl在Soul-admin服务中插入该服务的元数据,并带上ContextPath, AppName其它参数。Soul Admin会拼出该服务对应的URl模式。Soul-Admin可以调整各个服务的限流,熔断等参数。Soul-Bootstrap就是网关,会在收到请求是通过调用soul-plugin去Soul-Admin的接口去拿到对应的元数据和代理服务的参数,并调用URL对应的soul-plugin去调用服务或者拒绝请求。