微服务是什么?
微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的类上应用很多SOLID原则。
微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。
- 概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
- 定义:围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。
- 本质:用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。
关于微服务相关的学习资料不多,而 GitHub 上的开源项目可以作为你微服务之旅的第一站。
本文为大家推荐了GitHub和gitee7个非常火的微服务项目,从入门到实战,建议收藏
那话不多说,我们一起来看看这7个项目
01. 高赞教程:PiggyMetrics
这个开源项目是你开启微服务之旅的不二之选。PiggyMetrics是一个很全面的微服务实践入门的实例集,它可以指导开发者使用 Spring Boot、Spring Cloud 和 Docker 搭建微服务架构。
该开源项目有一个典型的微服务实现案例 - 个人理财微服务系统。采用Spring Boot/Spring Cloud等技术栈,来实现微服务的开发、构建和治理,麻雀虽小五脏俱全。
在这个案例中,你可以全面地了解到微服务的注册发现、配置中心、熔断、路由、负载均衡、注解式Http客户端、认证鉴权和全链追踪等技术,同时还有日志、监控、度量指标等运维指标统计分析。
PiggyMetrics 被分解为三个核心微服务,它们都是可独立部署的应用程序。如果你具备了微服务的基础知识,没有实战经验,从这个项目开始吧。
02.分布式电商项目
基于 Spring Cloud 的分布式电商项目,该项目使用分库设计方案,不同的模块依赖不同的数据库实例。后台登陆采用 Oauth 2.0 授权,支持密码登陆、授权码登陆、短信验证码登陆、注册中心与配置中心已使用 alibaba naco。目标打造顶级多模块,高可用,高扩展电商项目。技术栈基于 Spring Boot、Spring Cloud、Spring Oauth2 和 Spring Cloud Netflix 等框架,可以借助该项目学习Spring Cloud 技术栈,作为练手项目。
03. 轻松阅读微服务项目
核心架构图如下:
04. SpringBlade 微服务开发平台
SpringBlade 采用前后端分离的模式,前端基于 React、Ant Design、Vue、Element-UI。后端采用 Spring Cloud 全家桶,注册中心、配置中心选型 Nacos,简封装了多租户底层,用更少的代码换来拓展性更强的 SaaS 多租户系统。
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
自行集成。
06. 互联网云快速开发框架
一款免费开源的 Java 互联网云快速开发平台,微服务分布式代码生成的敏捷开发系统架构。项目代码简洁,注释丰富,上手容易,还同时集中分布式、分布式事务、微服务,同时包含许多基础模块和监控、服务模块。被评为 2018 年度最受欢迎中国开源软件项目。
07.网约车项目
看图吧。
看完之后有没有想敲代码的冲动?
好吧,知道你们懒,所以我把所有源码都给你们整理好了
除了spring cloud项目之外,我也整理了许多经典的spring boot项目源码
关注公众号:北游学Java,后台回复701即可领取我整理好的所有项目源码与文档资料,给我冲!