失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Soul源码分析–soul-admin入门

Soul源码分析–soul-admin入门

时间:2020-05-17 10:00:40

相关推荐

Soul源码分析–soul-admin入门

Soul源码分析–soul-admin

运行使用原理介绍总结

运行

上一篇介绍过 soul-admin 启动有两种数据库选择,一种是MySQL, 一种是内存H2数据库。如果本地有MySQL,建议还是使用MySQL数据库,毕竟等下我们还是需要看看 soul-admin 启动时创建的表结构。启动后我们选择"插件列表"->“divide”,如果没有启动别的服务,这个菜单里面应该是空的。这里我们还要启动 Soul 网关主要的服务 soul-bootstrap,如果不想自己写业务服务来测试,需要把 soul-examples 这个项目也编译进来(在父级pom文件添加这个模块,然后 clean install 一顿骚操作后应该就可以了,如果不行多编译几次)启动 soul-examples-http 项目(需要把日志级别改成debug,后续测试负载均衡需要看日志),启动成功后到admin后台管理应该就可以看到下面这个图里的数据

最后需要配置一下选择器,然后就可以通过 http://localhost:9195/http/test/findByUserId?userId=10 来访问了

使用

网关的使用:

我们使用网关时,后端一般会有多个服务,每个服务可能会有多个节点,当一个服务的多个节点都对外提供服务时,经过网关转发就可以实现负载均衡、降级、限流等功能。在 soul 中可以很方便的配置这些功能,点击修改选择器->配置可以添加多个节点的服务,配置权重以及是否启用禁用此节点。

配置网关负载均衡

把项目中的端口号改一下,然后idea启动时选择多个并行启动,新启动一个 soul-examples-http 项目

把新启动的服务配置到 admin 后台,然后保存

保存成功后就会生效,接下来就是看一看效果了。在浏览器多访问几次 http://localhost:9195/http/test/findByUserId?userId=8 这个网关地址,然后看网关日志,发现8188和8189分别被访问了

配置限流

在选择器中的配置中把8188的设置改成close,然后疯狂请求,再去看 soul-bootstrap 日志,发现只有8189的请求日志,从而实现限流

原理介绍

第一次运行 soul-admin 时,会自动创建soul库和相关的表

我们来看一下 select * from dashboard_user; 这个表里面会写入一条记录,那就是admin 用户的记录,密码是加密的,我们用的默认用户和密码就是这个表中的记录

在 soul-admin 项目中,仔细观察可以发现,我们启动服务之后可以直接访问的页面,但是项目下的文件夹只有下图中一个 index.html 页面,而页面里面只引入了一个JS(当然这个JS是压缩过的,不用想尝试去看,能看懂的都是鬼才),那页面里面的东西是哪来的呢,聪明的你应该想到了,把 soul-admin 把所有功能都压缩在这个JS里面了,然后通过 index 页面直接来展示后台管理页面

总结

最后 soul-admin 入门就介绍到这,下一篇就深入源分析了

如果觉得《Soul源码分析–soul-admin入门》对你有帮助,请点赞、收藏,并留下你的观点哦!

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