本篇文章主要内容如下:
Soul
是什么- 如何在本地运行
Soul
- 对
Soul
进行压测
Soul 是什么
Soul
是什么?它可不是灵魂交友软件!
引用Soul
的官网,它是这样描述Soul
的:
这是一个异步的,高性能的,跨语言的,响应式的
API
网关。我希望能够有一样东西像灵魂一样,保护您的微服务。参考了Kong
,Spring-Cloud-Gateway
等优秀的网关后,站在巨人的肩膀上,Soul
由此诞生!
Soul
是一个网关,它的特点如下:
- 支持各种语言(
http
协议),支持dubbo
,spring cloud
协议。 - 插件化设计思想,插件热插拔,易扩展。
- 灵活的流量筛选,能满足各种流量控制。
- 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。
- 流量配置动态化,性能极高,网关消耗在
1~2ms
。 - 支持集群部署,支持
A/B Test
,蓝绿发布。
来自官网的一张架构图
从上面的架构图可以看出,Soul
网关与语言无关,各种语言(Java
,PHP
,.NET
等)都可以接入到网关中。它通过对不同插件的支持实现各种功能(监控,认证,限流,熔断,不同用户接入等)。在后台管理系统(soul-admin
)就可以灵活配置各种流量。
如何在本地运行 Soul
好了,知道了Soul
是一个网关,那么接下来就看看怎么使用它。 通过案例演示的方式比直接了解各个概念的方式更能激发兴趣,所以开始play it
吧!
从官网拉取项目源码
git clone [email protected]:dromara/soul.git
,当前最新版本是2.2.1
。创建并切换分支