springboot gateway 负载均衡_SpringBoot+SpringCloud+Nacos+Sentinel+Redis+MQ+Vue微服务平台

本文介绍了基于Spring Cloud的微服务化开发平台AG - Admin,它有统一授权、认证后台管理系统,含多模块,支持多业务系统开发。阐述了启动步骤、项目结构,还介绍了服务鉴权、监控、负载均衡等架构要点,最后表示后续将分享更多类型开源项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近鹏哥在总结目前市面流行的开源项目,努力发现有价值的项目分享给大家。

Cloud-Platform又名AG-Admin是国内首个基于Spring Cloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。 核心技术采用Spring Boot 2.1.2以及Spring Cloud (Greenwich.RELEASE) 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-admin组件。

我们先来感受一下项目火爆程度:

39db85870f4646c23510c282993797aa.png

模块说明

c6593da84214bfc6e0ad6064b7be1e71.png

启动项目

因为AG-Admin是一个前后端分离的项目,所以后端的服务必须先启动,在后端服务启动完成后,再启动前端的工程。

运行步骤

  1. 运行数据库脚本:依次运行数据库:ace-admin/db/init.sql、ace-auth-server/db/init.sql、ace-trace
  2. 修改配置数据库配置:ace-admin/src/main/resources/application.yml、ace-gate/src/main/resources/application.yml
  3. 按顺序运行main类:CenterBootstrap(ace-center)、AuthBootstrap(ace-auth-server)、AdminBootstrap(ace-admin)、GatewayServerBootstrap(ace-gateway-v2)

项目结构:

后端项目结构:

6183236fe326d78dd151ec67d133810b.png

前端项目结构:

ffb86cccb576ef55df4be1cc3eaac3d5.png

架构摘要

服务鉴权

通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。

监控

利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。

负载均衡

将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。

服务注册与调用

基于Nacos来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。

熔断机制

因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。

功能截图

e92a6e0ff66380146062be657f2072df.png
d27a5c0c8dacc0bbe9ee5ed254e3f458.png
0817a6144f143c64409a702fefcc28d6.png
387f0b7a082d7eae23c94f0333523430.png

a30dcbb98ca4b1fb59f5ec1edda20d60.png
0bccfea025216ac64e93c9ccbd754c47.png
6c8580b2f1996b1ef5b61472a0c64f41.png
9e1ce77dfee8b40f8c60c69d90d9c135.png

1643760808513c1cde6f0c8702279e7e.png

分享了这么多后端管理项目,鹏哥发现他们大多大同小异,如果前后端分离的,后端基本就是SpringBoot+(SpringCloud可选)+Redis+MyBatis+ES+Security+MQ,而前端进本就是vue-element-admin组件,如果不是前后端分离的项目前端一般就是layui等开源UI。所以你会发现他们长的基本一样,对于这种重复造的轮子,鹏哥认为没有什么意义,当然鹏哥也知道有时候改别人的代码比自己重写一遍需要更多的经历。对于这种ADMIN的管理系统鹏哥已经分享的差不多,如果你能深入了解个一两个,基本就能学会里面的套路了。所以鹏哥后续会考虑分享类型更丰富的开源项目,如alibaba 的arthas 这种工具类的,如工作流这种组件类的以及方便后端开发人员的UI框架

好了,今天的分享就到这里了。欢迎大家留言好的开源项目,鹏哥会择优推荐,已经采用鹏哥有一份丰厚的奖品等着你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值