个
把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,这就是微服务架构的架构概念,通过将功能分解到各个离散的服务中以实现对解决方案的解耦。
关于微服务相关的学习资料不多,而 GitHub 上的开源项目可以作为你微服务之旅的第一站。本文推荐 7 个非常火的微服务项目,从入门到实战,这篇文章值得收藏。
01. 不二之选
第一个推荐的项目是高赞教程:PiggyMetrics ,这个开源项目是你开启微服务之旅的不二之选。
PiggyMetrics是一个很全面的微服务实践入门的实例集,它可以指导开发者使用 Spring Boot、Spring Cloud 和 Docker 搭建微服务架构。
该开源项目有一个典型的微服务实现案例 - 个人理财微服务系统。采用Spring Boot/Spring Cloud等技术栈,来实现微服务的开发、构建和治理,麻雀虽小五脏俱全。
在这个案例中,你可以全面地了解到微服务的注册发现、配置中心、熔断、路由、负载均衡、注解式Http客户端、认证鉴权和全链追踪等技术,同时还有日志、监控、度量指标等运维指标统计分析。
PiggyMetrics 被分解为三个核心微服务,它们都是可独立部署的应用程序。如果你具备了微服务的基础知识,没有实战经验,从这个项目开始吧。
地址:https://github.com/sqshq/piggymetrics
02. 分布式电商项目
基于 Spring Cloud 的分布式电商项目,该项目使用分库设计方案,不同的模块依赖不同的数据库实例。后台登陆采用 Oauth 2.0 授权,支持密码登陆、授权码登陆、短信验证码登陆、注册中心与配置中心已使用 alibaba naco。
目标打造顶级多模块,高可用,高扩展电商项目。
技术栈基于 Spring Boot、Spring Cloud、Spring Oauth2 和 Spring Cloud Netflix 等框架,可以借助该项目学习Spring Cloud 技术栈,作为练手项目。
地址:https://github.com/SiGuiyang/spring-cloud-shop
03. 轻松阅读微服务项目
轻松阅读是一款图书阅读类 APP,基于 Spring Cloud 开发的微服务实战项目,涉及 SpringCloud-Gateway、Nacos、Hystrix、OpenFeign、Jwt、ElasticSearch 等技术栈的应用。
客户端:https://github.com/Zealon159/light-reading-cloud-client
api:https://github.com/Zealon159/light-reading-cloud
核心架构图如下:
04. SpringBlade 微服务开发平台
SpringBlade 采用前后端分离的模式,前端基于 React、Ant Design、Vue、Element-UI。后端采用 Spring Cloud 全家桶,注册中心、配置中心选型 Nacos,简封装了多租户底层,用更少的代码换来拓展性更强的 SaaS 多租户系统。
地址:https://gitee.com/smallc/SpringBlade
05. Cloud-Platform
Cloud-Platform是国内首个基于Spring Cloud
微服务
化开发平台
,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。
核心技术采用Spring Boot 2.4.1
、Spring Cloud (2020.0.0)
以及Spring Cloud Alibaba 2.2.4
相关核心组件,采用Nacos
注册和配置中心,集成流量卫兵Sentinel
,前端采用vue-element-admin
组件,Elastic Search
自行集成。
地址:https://gitee.com/geek_qi/cloud-platform
06. 网约车项目
看图吧。
地址:https://github.com/OiPunk/OnlineTaxi
07. 互联网云快速开发框架
一款免费开源的 Java 互联网云快速开发平台,微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、分布式事务、微服务,同时包含许多基础模块和监控、服务模块。
被评为 2018 年度最受欢迎中国开源软件项目。
地址:https://gitee.com/JeeHuangBingGui/jeeSpringCloud