失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Soul源码分析 —— 调试环境搭建

Soul源码分析 —— 调试环境搭建

时间:2021-01-26 20:56:27

相关推荐

Soul源码分析 —— 调试环境搭建

Soul源码分析 —— 调试环境搭建

工具依赖什么是Soul把项目跑起来先从git拉代码本地部署soul-admin和soul-bootstrap服务数据初始化登陆admin界面插件的作用soul-admin提供了什么soul-bootstrap提供了什么 小结

工具依赖

Maven

Git

JDK

IntelliJ IDEA

什么是Soul

Soul是网关,而网关是在分布式和集群环境中对流量进行统一管理的组件。

套用Soul官方的说法:

soul是一个异步的, 高性能的, 跨语言的, 响应式的API网关。

soul核心Features

提供了诸如限流、熔断、转发和路由监控等插件;

与 HTTP、RESTful、WebSocket、Dubbo 和 Spring Cloud 无缝对接;

支持热插拔, 用户可以定制化开发;

为了灵活的适配, 选择器和规则可以动态的适配;

支持集群部署;

支持 A/B 测试和灰度发布。

把项目跑起来先

从git拉代码

git clone git@:dromara/soul.git

使用IDEA打开项目,等待maven自动拉下依赖之后执行

mvn install -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Drat.skip=true -Dcheckstyle.skip=true

本地部署soul-admin和soul-bootstrap服务

启动mysql服务在默认端口3306

mvn spring-boot:run soul-admin模块或者直接运行SoulAdminBootstrap.java, 输出如下日志

1-01-15 02:08:28.677 INFO 20508 --- [ main] o.s.b.w.embedded.tomcat.TomcatWeServer : Tomcat started on port(s): 9095 (http) with context path \-01-15 02:08:28.690 INFO 20508 --- [ main] o.dromara.soul.admin.SoulAdminBootstrap : Started SoulAdminBootstrap in 16.388 seconds (JVM running for 18.019)

运行soul-bootstrap的模块下面的SoulBootstrapApplication.java文件将输出如下日志

-01-15 02:08:51.163 INFO 20515 --- [ main] o.s.b.tyWebServer : Netty started on port(s): 9195-01-15 02:08:51.171 INFO 20515 --- [ main] o.d.s.b.SoulBootstrapApplication : Started SoulBootstrapApplication in 12.309 seconds (JVM

数据初始化

运行soul-admin会执行soul-admin/src/main/resources/META-INF/schema.sql文件,来初始化数据库和表结构, 并插入配置数据.

登陆admin界面

用定义在sql文件中的用户名和密码登陆http://localhost:9095/, 可以看到菜单的PlugInList和System Manage,点击System Manage可以看到Divide插件是缺省开启的。

插件的作用

每一个打开的插件就会增加soul网关对流量的适配。也就是说没有打开的插件时,soul网关会拒绝所有的流量。需要对http协议的支持,就有了divide插件,需要对dubbo协议的支持,就有了dubbo插件,等等。有些插件时通用的,比如说rate_limitor是做限流的,monitor是做系统性能监控的,等等。各插件的作用以后会具体研究。

soul-admin提供了什么

首先它提供了对插件的配置数据和元数据的可视化管理和缓存,并将数据持久化并高效地提供给插件服务读取。

如果觉得《Soul源码分析 —— 调试环境搭建》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。