力荐几个不错的Spring Cloud微服务项目
共 2402字,需浏览 5分钟
·
2021-07-12 16:12
在如今微服务、分布式大行其道的时代,懂点相关的技术、知识无疑可以给自己加分,而要是能有一些现成的、与之相关的实战性项目跟着撸,对于自己而言那将如虎添翼!本文将推荐几个相当不错的跟Spring Cloud相关的微服务项目,帮助大家增长这方面相关的技术!
一、Cloud-Platform
地址:https://gitee.com/geek_qi/cloud-platform
首当其冲的当属目前相当火热的开源项目:Cloud-Platform,在Gitee上目前已达将近16K Star,将近8K 的Forked量。
它是国内首个基于SpringCloud微服务化的开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。
代码简洁,架构清晰,适合学习和直接项目中使用,核心技术采用Spring Boot 2.4.1、Spring Cloud (2020.0.0)以及Spring Cloud Alibaba 2.2.4 相关核心组件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端采用vue-element-admin组件,Elastic Search自行集成;
直接上图吧!!!
其架构摘要简单介绍如下:
(1)中台化前端
集成d2admin中台化前端,优化前端架构和功能布局,支撑中台服务化的应用开发。
(2)JWT鉴权
通过JWT的方式来进行用户认证和信息传递,保证服务之间用户无状态的传递。
(3)监控
利用Spring Boot Admin 来监控各个独立Service的运行状态;利用Hystrix Dashboard来实时查看接口的运行状态和调用频率等。
(4)负载均衡
将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,SpringCloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。
(5)服务注册与调用
基于Nacos来实现的服务注册与调用,在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。
(6)熔断与流控
集成阿里Sentinel进行接口流量控制,通过熔断和降级处理避免服务之间的调用“雪崩”。
二、SpringBlade微服务开发平台
地址:https://gitee.com/smallc/SpringBlade
稳定生产了三年,经历了从 Camden ->Hoxton -> 2020 的技术架构,也经历了从fat jar -> docker ->k8s + jenkins的部署架构;项目分包明确,规范微服务的开发模式,使包与包之间的分工清晰。
(1)采用前后端分离的模式:
前端开源两个框架:Sword (基于 React、Ant Design)、Saber(基于 Vue、Element-UI)
(2)后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeTool。
BladeTool已推送至Maven中央库,直接引入即可,减少了工程的臃肿,也可更注重于业务开发。
(3)集成Sentinel从流量控制、熔断降级、系统负载等多个维度保护服务的稳定性。
(4)注册中心、配置中心选型Nacos,为工程瘦身的同时加强各模块之间的联动。
(5)使用Traefik进行反向代理,监听后台变化自动化应用新的配置文件。
(6)极简封装了多租户底层,用更少的代码换来拓展性更强的SaaS多租户系统。
(7)借鉴OAuth2,实现了多终端认证系统,可控制子系统的token权限互相隔离。
(8)借鉴Security,封装了Secure模块,采用JWT做Token认证,可拓展集成Redis等细颗粒度控制方案。
三、Spring-Cloud-Shop
地址:https://github.com/SiGuiyang/spring-cloud-shop
Spring Cloud 版分布式电商项目,全力打造顶级多模块,高可用,高扩展电商项目
设计此项目是为了进一步学习Spring Cloud 技术栈。从项目实战深入Spring Cloud 各个微服务的解决方案,因此采用最常见的电商业务作为练手项目。
目前项目使用分库设计方案,不同的模块依赖不同的数据库实例
(1)营销中心:pager_activity
(2)授权中心:pager-auth
(3)商品中心:pager_goods
(4)订单中心:pager_order
(5)数据中心:pager_shop
(6)风控中心:pager-risk
(7)后台登陆采用oauth2.0授权,支持密码登陆,授权码登陆,短信验证码登陆
注册中心与配置中心已使用alibabanacos。
总结:
好了,本文就介绍到这里吧,希望诸位可以认真看一看、瞧一瞧debug精心且煞费一番苦心整理的开源项目吧,希望对诸位有所帮助!学习期间有任何问题都可以加我微信与我沟通交流!!!
如果本文对你有帮助,请关注公众号,并动动手指收藏、点赞、以及转发哦!!!