Boot和Cloud版本选型
微服务架构概述
什么是微服务
微服务是一种架构模式,它提倡将单一应用程序划分为一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值,每个服务运行在其独立的进程当中,服务与服务之间采用轻量级的通信机制互相协作(通常是基于HTTP协议的Restful API)。每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应该根据业务环境(上下文),选择合适的语言、工具对其进行构建。
微服务技术维度至少包含但不限于
服务注册与发现
服务调用
服务熔断
负载均衡
服务降级
服务消息队列
配置中心管理
服务网关
服务监控
全链路追踪
自动化构建部署
服务定时任务调度操作
什么是SpringCloud
SpringCloud 是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,也就是微服务全家桶。
SpringCloud包含的技术栈
学习的主要内容
版本选择
cloud 选择 Hoxton.SR1
boot 选择 2.2.2
Java 选择 Java8
Maven 选择 3.5及以上
mysql 选择 5.7及以上 注意8.0之后的 jar 包选择
具体可以参考Spring官方配置版本依赖关系文档
选择说明:当前最新 spring-cloud-alibaba 推荐 <2.3.0.M1
为了避免在版本问题上遇到恶心的问题 cloud 选择 Hoxton.SR1 版本 并组合使用
"spring-cloud-alibaba": {
"2.2.1.RELEASE": "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1"
},
https://start.spring.io/actuator/info
boot和cloud 版本按照官方推荐组合使用 否则可能出现意外bug
https://docs.spring.io/spring-cloud/docs/Hoxton.SR7/reference/html/
当前 cloud Hoxton.SR7 推荐使用 boot版本 2.3.2