AG-Admin是国内首个基于SpringCloud微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用Eureka、Fegin、Ribbon、Zuul、Hystrix、JWTToken、Mybatis等主要框架和中间件,前端采用vue-element-admin组件。
架构说明架构详解服务鉴权老A独有的通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。
监控利用SpringBootAdmin来监控各个独立Service的运行状态;利用HystrixDashboard来实时查看接口的运行状态和调用频率等。
负载均衡将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,SpringCloud系列的zuul和rebbion,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。
服务注册与调用基于Eureka来实现的服务注册与调用,在SpringCloud中使用Feign,我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
熔断机制因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”。
更多内容请访问项目主页:https://gitee.com/geek_qi/ace-security
评论