『7x24小时有问必答』

前言

随着企业业务的不断扩展,传统的单体架构已经难以满足高并发、可维护、可扩展等需求。微服务架构因其良好的解耦性和可扩展性,逐渐成为主流架构方案。
今天推荐一个国内首个Spring Cloud微服务化RBAC的管理平台,它不仅是一个技术框架,更是一个可以快速开发企业级中台系统的开发平台。对于刚接触微服务的新手开发,或者希望搭建企业级服务架构的团队来说,Cloud-Platform都是一个非常值得参考和使用的项目。

项目介绍

Cloud-Platform是国内首个基于Spring Cloud的微服务化开发平台,采用前后端分离架构,后端使用Spring Boot 2.4.1、Spring Cloud 2020.0.0以及Spring Cloud Alibaba 2.2.4等主流技术栈,前端则采用vue-element-admin组件进行开发。
整个平台集成了统一的用户权限管理、网关API管理、服务注册与发现、熔断限流等核心功能,支持多业务系统并行开发,具备良好的可扩展性和可维护性。

项目模块

系统模块说明

中台化前端

集成d2admin中台化前端,优化前端架构和功能布局,支撑中台服务化的应用开发。

JWT鉴权

通过JWT的方式来进行用户认证和信息传递,保证服务之间用户无状态的传递。

监控

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

负载均衡

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

服务注册与调用

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

熔断与流控

集成阿里Sentinel进行接口流量控制,通过熔断和降级处理避免服务之间的调用"雪崩"。

项目功能

Cloud-Platform 提供了多个核心功能模块,主要包括:

1、用户管理模块

实现用户注册、登录、权限分配、角色管理等功能,支持基于JWT的无状态认证。

2、资源权限管理模块

通过RBAC模型实现细粒度的权限控制,支持菜单、按钮、接口级别的权限管理。

3、网关API管理模块

集成Zuul作为API网关,支持接口限流、路由、鉴权等管理。

4、服务注册与调用模块

基于Nacos实现服务注册与发现,使用Feign实现服务间的远程调用。

5、熔断与流控模块

集成Sentinel实现接口限流、降级、熔断等流量控制策略。

6、日志与监控模块

通过Spring Boot Admin监控各个服务运行状态,结合Hystrix Dashboard实现接口调用可视化监控。

7、中台化前端模块

基于d2admin框架,优化前端架构,支持模块化开发,适配中台化服务架构。

项目特点

1、开箱即用:项目结构清晰,模块划分明确,开箱即用,适合快速搭建企业级后台系统。
2、技术主流:采用当前主流的Spring Cloud微服务架构,符合技术发展趋势。
3、架构清晰:采用前后端分离设计,后端服务模块化,便于维护和扩展。
4、安全性高:使用JWT进行用户认证,支持细粒度权限控制,保障系统安全。
5、可扩展性强:各模块之间低耦合,便于扩展新业务系统。

项目技术

Cloud-Platform的技术栈涵盖了当前微服务架构的主流技术:
后端技术栈
Spring Boot 2.4.1
Spring Cloud 2020.0.0
Spring Cloud Alibaba 2.2.4
Nacos(注册中心 + 配置中心)
Sentinel(熔断限流)
Feign(服务调用)
Zuul(网关代理)
前端技术栈
Vue.js
Element UI
vue-element-admin(中台前端模板)
辅助工具
Spring Boot Admin(服务监控)
Hystrix Dashboard(接口监控)
ElasticSearch(可自行集成)

项目效果

Cloud-Platform不仅在技术上表现优异,在实际使用中也展现出良好的用户体验和系统稳定性。通过统一的用户管理、权限控制和API网关管理,开发者可以快速构建多业务系统,并实现权限隔离和接口限流。配合前端的中台化设计,系统界面清晰、操作流畅,能够满足企业级系统的复杂需求。
另外,项目中的监控模块也大大提升了系统的可观测性。通过Spring Boot Admin和Hystrix Dashboard,开发可以实时查看各个服务的运行状态和接口调用情况,及时发现并解决问题。

项目源码

Gitee:https://gitee.com/geek_qi/cloud-platform

总结

Cloud-Platform作为一个基于Spring Cloud的微服务开发平台,凭借其清晰的架构、完善的功能、主流的技术栈和活跃的社区支持,已经成为国内微服务领域的标杆项目之一。不管是用于企业级系统开发,还是作为学习微服务架构的实践案例,Cloud-Platform都具有很高的参考价值和实用性。
对于想要快速搭建微服务架构、提升开发效率的开发者和企业来说,Cloud-Platform无疑是一个非常值得尝试的项目。

关键词

Spring  Cloud、微服务Cloud-Platform、JWTNacosSentinelRBACVue中台架构开源项目
作者:小码编匠
出处:gitee.com/smallcore/DotNetCore
声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!

END

备注【开源
方便大家交流、资源共享和共同成长
纯技术交流群、需要的小伙伴请扫码

有收获?不妨分享让更多人受益
关注「程序员开源栈」,共同提升技术实力

点分享
点收藏
点在看
点点赞

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码