简介
观看本文之前,默认读者已经是工作中的同学了,最起码懂得开发工具怎么用,如果不会,就可以略过过程,直接收藏吧,以后会用得到。
本文重点是调试过程,不是项目地址,不过只需要地址的,可以直接调到末尾获取链接获取方法。
最近公司,要上spring boot 微服务管理后台,找来找去,找到一个开源的项目,然后进行了修改调试。闲来无事,把过程做个记录,没有调试过的小伙伴,赶紧关注,点赞,转发,收藏吧。文章末尾有开源项目链接获取方法。开源项目好找,但调试实战不易,请君珍惜。
项目总架构介绍
当然此项目是开源了,项目架构是开源作者画的,直接上图了。尊重感谢开源作者。
项目主要功能预览
1、统一认证功能:支持oauth2的四种模式登录、支持用户名、密码加图形验证码登录、支持手机号加密码登录、支持openId登录、支持第三方系统单点登录
2、分布式系统基础支撑:服务注册发现、路由与负载均衡、服务降级与熔断、服务限流(url/方法级别)、统一配置中心、统一日志中心、统一搜索中心、统一分布式缓存操作类、cacheManager配置扩展、分布式锁、分布式任务调度器、支持CI/CD持续集成(包括前端和后端)、分布式Id生成器、分布式事务(强一致性/最终一致性)、日志链路追踪
3、系统监控功能:服务调用链监控、应用拓扑图、慢查询SQL监控、应用吞吐量监控(qps、rt)、服务降级、熔断监控、服务限流监控、微服务服务监控、服务器监控、redis监控、mysql监控、elasticSearch监控、nacos监控、prometheus监控
4、业务基础功能支撑:多租户(应用隔离)、高性能方法级幂等性支持、RBAC权限管理,实现细粒度控制(方法、url级别)、快速实现导入、导出功能、数据库访问层自动实现crud操作、代码生成器、基于Hutool的各种便利开发工具、网关聚合所有服务的Swagger接口文档、统一跨域处理、统一异常处理。
核心调试部分
环境:16G内存的电脑、JDK1.8以上,Maven3.6以上,开发工具Idea,mysql 5.7以上,redis 3以上版本。
1、导入项目从开源github上,或者gitee上的地址,如下图操作,如果网快的画基本几分钟就好了,如果网速慢,那就等等吧。
2、导入完成后大致是这个样子的,就问你多不多!!!没办法,谁叫咱是互联网后台开发者呢!!
3、启动依赖程序,redis,nacos(类似zookeeper或者spring boot 中的eureka),如果有elasticsearch(搜索引擎类似solr),和sentinel(流量哨兵)也可以启动一下,没有就可以不启动,后续随着业务量的增加再启动,毕竟小公司嘛
4、执行数据库脚本,导入数据库,如下图
全部source 一下
mysql> source file-center.sql
mysql> source oauth-center.sql
mysql> source tx-manager.sql
mysql> source tx-logger.sql
mysql> source user-center.sql
mysql> source xxl-job.sql
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
5、修改配置文件,把里面的所有的配置文件的ip都替换成本机的127.0.0.1,idea可以批量替换,如图:
6、开始启动吧!!
A、启动认证中心zlt-uaa
B、启动用户中心zlt-bussiness/user-center
C、启动网关zlt-gateway/zuul-gateway
D、启动前端工程zlt-web/back-web
如下图:
再看注册中心服务治理的截图:
7、访问测试 localhost:8066:账户密码 admin:admin 至此测试成功。然后运行其他的模块吧,包含 文件中心、代码生成器、微服务应用监控、统一配置中心、统一日志中心、慢查询sql、分布式任务调度、服务限流、降级熔断控制台和应用吞吐量监控、APM监控、分布式事务(tx-lcn)、 搜索中心、首页(流量统计),有兴趣的同学自己探索吧
结语:
此套开源代码试用于刚刚创业的小公司,也适用于上了规模的互联网公司,目前gitee和github综合star数量也已经超过2k以上,是架构师拿来参考搭建本公司微服务架构的良好选择。