36

Java Springboot 开源微服务架构管理后台搭建实战

 4 years ago
source link: http://news.51cto.com/art/201911/606450.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

简介

观看本文之前,默认读者已经是工作中的同学了,最起码懂得开发工具怎么用,如果不会,就可以略过过程,直接收藏吧,以后会用得到。

本文重点是调试过程,不是项目地址,不过只需要地址的,可以直接调到末尾获取链接获取方法。

最近公司,要上spring boot 微服务管理后台,找来找去,找到一个开源的项目,然后进行了修改调试。闲来无事,把过程做个记录,没有调试过的小伙伴,赶紧关注,点赞,转发,收藏吧。文章末尾有开源项目链接获取方法。开源项目好找,但调试实战不易,请君珍惜。

项目总架构介绍

当然此项目是开源了,项目架构是开源作者画的,直接上图了。 尊重感谢开源作者。

AbUfaqa.jpg!web

项目主要功能预览

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上的地址,如下图操作,如果网快的画基本几分钟就好了,如果网速慢,那就等等吧。

7R7ZbaE.jpg!web

2、导入完成后大致是这个样子的, 就问你多不多!!! 没办法,谁叫咱是互联网后台开发者呢!!

6nErIf7.jpg!web

3、启动依赖程序,redis,nacos(类似zookeeper或者spring boot 中的eureka),如果有elasticsearch(搜索引擎类似solr),和sentinel(流量哨兵)也可以启动一下,没有就可以不启动,后续随着业务量的增加再启动,毕竟小公司嘛

qYFFJbZ.jpg!web

redis服务启动(windows的),当然生产环境是linux的

FbAjYzi.jpg!web

Nacos注册中心

4、执行数据库脚本,导入数据库,如下图

y2M3Y3A.jpg!web

全部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  

uABJ7rb.jpg!web

5、修改配置文件,把里面的所有的配置文件的ip都替换成本机的127.0.0.1,idea可以批量替换,如图:

BJjURrj.jpg!web

6、开始启动吧!!

A、启动认证中心zlt-uaa

B、启动用户中心zlt-bussiness/user-center

C、启动网关zlt-gateway/zuul-gateway

D、启动前端工程zlt-web/back-web

如下图:

NB3ayuA.jpg!web

再看注册中心服务治理的截图:

fmeAFfN.jpg!web

7、访问测试 localhost:8066:账户密码 admin:admin 至此测试成功。然后运行其他的模块吧,包含 文件中心、代码生成器、微服务应用监控、统一配置中心、统一日志中心、慢查询sql、分布式任务调度、服务限流、降级熔断控制台和应用吞吐量监控、APM监控、分布式事务(tx-lcn)、 搜索中心、首页(流量统计),有兴趣的同学自己探索吧

Qf2U7fJ.jpg!web

结语:

此套开源代码试用于刚刚创业的小公司,也适用于上了规模的互联网公司,目前gitee和github综合star数量也已经超过2k以上,是架构师拿来参考搭建本公司微服务架构的良好选择。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK