在上一篇中,我介绍了soul框架的概述、罗列了支持的功能、使用到的技术,并通过启动soul-admin模块和soul-bootstrap模块,通过管理控制台中展示的功能直观的感受了soul网关自带的丰富功能,这一篇,我们通过运行soul自带的例子程序soul-example模块中的soul-example-http,从使用者的角度体验soul是如何处理并转发http请求的。
下面先来看看浏览器直接发起请求到后台,没使用soul的场景,如下图:
这个场景非常简单,就是我们平时经常使用的单体应用,下面实验开始,运行SoulTestHttpApplication类启动soul-examples-http,应用监听端口为8188,如下配置所示
server:
port: 8188
address: 0.0.0.0
下面用postman模拟浏览器发起get请求,通过HttpTestController可以看到,此springBoot应用HttpTestController的访问域为/test,如下图所示
以findByUserId接口为例,postman的请求地址为http://localhost:8188/test/findByUserId?userId=3,如下图所示,正常返回结果:
接下来实验加上soul网关转发后,这个get请求发生的变化,首先看看加上soul之后请求的链路发生的变化,如下图所示:
可以看到,加上soul后,预期会在启动Spring Boot应用时,会往Soul Admin中写入应用提供的服务的配置信息,同时,浏览器端的请求,