Spring Cloud + Spring Cloud Alibaba 第一天
前言
今天是挑战一个月学会 Spring Cloud + Spring Cloud Alibaba 的第一天,我们先不着急学习具体的知识,我们先从整体来了解一下微服务。
首先我们先罗列一下在学习本课之前的前置技能:
java8 + maven + git(github) + Nginx + RabbitMQ + SpringBoot2.0
然后,我想说的是,整个的学习过程是艰辛的,但是最后胜利的果实是甘甜的,我希望你
- 够从头到尾都保持热情
- 不要只局限于看懂,要实际上手操作
- 不要三分钟热度
- 遇到不会的可以先跳过,不要直接放弃
- 战线不要拉的太长,尽量在一个月多的时间学完,保证学习的连贯性
- 有的知识你可能用不到,但是为了知识的完整性,还是希望认真学习
下面,介绍一下到底什么是微服务和本次 SpringBoot,Spring Cloud 的版本选型
本次课程分为两个阶段,前半部分为 SpringCloud 后半部分为 SpringCloud Alibaba
微服务架构理论
什么是微服务
微服务架构是一种架构模式,它提倡将单一应用程序划分成一小组的服务,服务之间互相协调,互相配合,为用户提供最终价值。
简单理解为用 SpringBoot 开发的一个个独立的功能单元。
SpringCloud 简介
SpringClooud 是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。
这里先只介绍 SpringCloud 相关的,SpringCloud Alibaba 的会在后续章节中介绍
支撑起微服务架构的具体技术:(很重要)
- 服务注册与发现 Eureka
- 服务调用 Ribbon Feign
- 服务熔断 HysTriix
- 负载均衡 Ribbon Feign
- 服务降级 HysTriix
- 服务消息队列
- 配置中心管理 spring cloud config
- 服务网关 Zuul
- 服务监控
- 全链路追踪
- 自动化构建部署
- 服务定时任务调度操作
- 服务开发 SpringBoot
另外,关于微服务的解决方案还有阿里巴巴出品的 Dubbo,目前 Dubbo 使用的比较少了,而且也逐渐被阿里出品的 SpringCloud Alibaba 替代了,所以我们这里就不涉及 Dubbo 相关知识了。
boot 和 cloud 版本选型
版本选择
本次使用的版本为:
SpringBoot2.X 版和 SpringCloudH 版
建议和我使用同样的版本,避免因版本问题导致项目运行不正常。
当然,如果你不想,也可以自己选择版本,但是 boot 和 cloud 的版本一定要对应上,查看版本对应:
https://spring.io/projects/spring-cloud
小知识
SpringCloud 版本命名使用的都是伦敦地铁站名称。
内容累积到临界点或者解决重大 bug 会发布 “service releases” 版本,简称 SRX 版本,比如 Greenwich.SR2 就是发布的 Greenwich 版本的第二个 SRX 版本。
本项目版本选择
以下为本次项目中各个基础组件版本的选择。(尽量与我保持一致,避免因版本问题造成不必要的麻烦)
个 SRX 版本。
本项目版本选择
以下为本次项目中各个基础组件版本的选择。(尽量与我保持一致,避免因版本问题造成不必要的麻烦)