soul源码阅读 启动soul应用

         soul的官方文档地址https://dromara.org/zh-cn/docs/soul/soul.html
        素质三连,watch,start,fork之后clone到本地,进行install编译,中间遇到的很坑的小问题,就是soul-example的maven文件无法识别,其实只有选中pom.xml然后右键选择add as maven project就可以解决了。最后mvn clean install 编译整个maven项目即可。
        后台管理模块在soul-admin包下,记得修改你的数据库连接信息,然后运行 SoulAdminBootstrap.class 的main函数既可启动admin模块

        启动后项目会自动创建数据库和表,如图所示。

           后台管理界面,默认的端口号是9095,访问即可。用户名:admin 密码:123456。进去后发现有很多plugin和一些别的模块。

          soul主项目是 在SoulBootstrapApplication这个类启动。启动后访问的端口地址为9195,这个也可以自己配。

         启动SoulTestHttpApplication这个项目,一个简单的web项目,启动后可以在pluginlist下的divide看到项目的名称,注册的ip和端口号,还可以配置流量权重等。

         如果我们直接访问http://localhost:8188/order/findById?id=3可以访问通

        改成访问网关,由网关进行转发,访问也没有问题。这个http是表示那个appname的意思,然后后面的就是访问路径了。

        如果直接访问服务器的话,那我们可能就得在不同的服务上做各种流量控制,灰度,限流等策略,这样会污染业务代码,但如果我们把这些都使用配置。配置在网关,由网关去做统一的流量分发策略,就可以避免污染我们的业务代码,而且也可以避免代码复制得到处都是。nginx的话可以直接做路由转发,但要想使用nginx做一些定制化的流量分发策略十分困难。所以可以使用soul。

soul大量使用了响应式编程,和业务代码不一样,刚开始看有点懵逼,完全不知道在干嘛。

根据资料发现webflux和mvc都可以用注解式编程模型,都可以运行在tomcat,jetty,undertow等servlet容器当中。但是SpringMVC采用命令式编程方式,代码一句一句的执行,这样更有利于理解与调试,而WebFlux则是基于异步响应式编程。官网明确指出,SpringWebFlux并不是让你的程序运行的更快(相对于SpringMVC来说),而是在有限的资源下提高系统的伸缩性。可以基于研究soul的源码开始学习响应式编程!加油,打工人。

猜你喜欢

转载自blog.csdn.net/a511310132/article/details/112606722