Spring Cloud微服务项目搭建系列文章(一):基础说明

本系列文章主要是讲一下本人在开发前期的构建项目的一些过程,如果有什么不对的地方,欢迎留言指出。

 项目介绍

项目源码地址:源码地址

项目基本结构图如下:

Spring Cloud微服务项目搭建系列文章(一):基础说明_第1张图片 

这里会从最基础的创建项目开始说起,到最后整个项目的成型。先简单的的说下项目中运用的技术点和相关的版本。

开发工具:IntelliJ IDEA

JDK版本:1.8

数据库:MySql5.7

缓存:redis

MQ:RabbitMq

Spring Boot :2.1.12.RELEASE

Spring Cloud:Greenwich.SR5

私服:nexus3(存储相关私有jar和阿里云相关jar)

ORM:mybatis3

注册中心:nacos

配置中心:nacos

权限控制:Spring Security+Oauth2

网关:Spring Cloud gateway

文件服务器:阿里云OSS

..... 

服务说明

项目架构的演变:

单体架构

Spring Cloud微服务项目搭建系列文章(一):基础说明_第2张图片 垂直架构

Spring Cloud微服务项目搭建系列文章(一):基础说明_第3张图片

面向服务的架构

Spring Cloud微服务项目搭建系列文章(一):基础说明_第4张图片 微服务架构

Spring Cloud微服务项目搭建系列文章(一):基础说明_第5张图片

简单的微服务架构图

Spring Cloud微服务项目搭建系列文章(一):基础说明_第6张图片 

技术选择 

现在比较流行的微服务的框架就是2个大的体系

  1. Spring Cloud
  2. Dubbo

dubbo出现的比较早了,期本身是基于netty的rpc实现的典型代表,也可以说是netty使用的一种典型案例,在服务治理方面有着期独特的优势。

Spring Cloud发展迅速,有全面完善的解决方案。

两者做了个简单的对比,不是非常完善,可以参考的看下。

服务注册中心      

Zookeeper

Spring Cloud Netflix Eureka

服务调用方式

RPC          

REST API

服务监控

Dubbo-monitor

Spring Boot Admin

断路器

不完善

Spring Cloud Netflix Hystrix

服务网关

Spring Cloud Netflix Zuul

分布式配置

Spring Cloud Config

服务跟踪

Spring Cloud Sleuth+ZIPKIN

消息总线

Spring Cloud Bus

数据流

Spring Cloud Stream

批量任务

Spring Cloud Task

你可能感兴趣的:(Spring Cloud微服务项目搭建系列文章(一):基础说明)