Spring cloud 看江南一点雨学习笔记
学习内容
抄写 SpringCloud 笔记目的
最近在学习江南一点雨的 SpringClooud 视频内容,刚接触一个新知识,很多内容都比较陌生、晦涩,而学习的目的主要是能够独立的运用,代码或者视频影像是记忆不过来的,写笔记能回顾所看的内容,为复看提供导航,也许以后学的好,就是快速寻找资料的速度快,本着尽量独立自主,不高度依赖他人的目的,开始写学习笔记
一、简介
1.课程内容
- 1.微服务和 SpringCloud 的关系
- 2.SpringCloud 核心组件,可以快速搭建微服务架构
- 3.SpringCloud 辅助类组件,如微服务监控、链路追踪
- 4 SpringCloud alibaba,及相关组件用法
2.课程收获
- 1.微服务的由来和原理
- 2.SpringCloud 各个组件的使用
- 3.SpringCloud 核心组件的运行原理
- 4.搭建 SpringCloud 微服务架构
- 5.掌握辅助组件的用法
二、微服务介绍
- 没有异议微服务越来越流行。
2009年,Netflix 重新定义开发模型,是微服务方向的首次探索;
2014年,一篇《microservice》通俗介绍了微服务;
现在互联网产品的特点:
①需求变化快
②用户群体庞大
这种情况下,需要构建灵活扩展,同时快速适应外部环境变化的应用,传统的架构不行,微服务应运而生
2.1什么事微服务
- 单一程序拆分为一组小型服务的方法,拆分完,每个服务运行在独立的进程中,服务之间通信采用轻量级方式(SpringCloud 基于 Http Restful Api)
- 通常每个服务围绕具体业务来构建,拆完后都是独立的应用,都可以独立部署到生产环境;根据上下文可以选择适当的编程语言,可以是 Phthon、Java、Go、Php的一种或多种混用
- 微服务可以理解为 SOA 的一个传承,本质区别是微服务是真正的去中心、分布式,比 SOA 更彻底
2.2微服务的优势
- ①复杂度可控
②独立部署
③技术选型灵活
④较好的容错性
⑤较强的可扩展性
2.3使用 SpringCloud的优势
- SpringCloud 是微服务思想在 Java 领域的一个具体落地;SpringCloud 在发展之初借鉴了微服务思想,结合 SpringBoot 提供一键式启动部署能力,极大简化了 SpringCloud 落地
- 从设计之初,就充分考虑了分布式架构演化所需功能,如:服务注册、配置中心、消息总线、负载均衡等,并且这些功能是可插拔的,在分布式系统不断演化中,SpringCloud 非常方便进化
三、SpringCloud介绍
3.1什么是 SpringCloud
- 是一系列框架的集合,框架互相协作,共同方便快捷构建分布式系统
3.2核心特性
- ①服务注册与发现
②负载均衡
③服务间调用
④容错、服务降级、断路器
⑤消息总线
⑥分布式配置中
⑦链路器
3.3版本名称
-
使用A、B、C、D、E……来命名,是使用伦敦地铁站名字来命名
A(angel)、B(Brixton)、C(Camden)、D(Dalston)、E(Edware)、F(Finchley)、G(Greewich)、H(Hoxton) -
大版本外还有小版本
-M M 是 milestone 缩写,如 M1、M2
-RC RC 是 release Candidate 缩写,项目正式发版前的状态,如 RC1、RC2
-SR SR 是 service release 缩写,表示项目正式发布的稳定版本,相当于 GA
-GA GA是 Generally Avaliable 缩写, 常用版,最优版
-SNAPSHOT 快照版
四、SpringCloud体系
4.1包含组件
-
Spring Cloud Netflix
在 SpringCloud 成立之初理想汗马功劳,不过2018年断更,也是 Netflix 掉链子,提起 SpringCloud 不得不提的组件 -
Spring Cloud Config
利用 Git/svn来集中管理项目配置文件 -
Spring Cloud Bus
消息总线,可以构建消息驱动微服务,也可以来做状态管理 -
Spring Cloud Cloudfoundry
继承一用程序 -
Spring Cloud Consul
服务注册发现 -
Spring Cloud Security
在 Zuul 代理中,为 Oauth2 提供认证支持 -
Spring Cloud Stream
基于 Redis、RabbitMQ、Kafka,实现消息的微服务 -
Spring Cloud AWS
快速集成亚马逊云服务(不推荐用,相当于绑定了,换云服务要更改相应代码) -
Spring Cloud OpenFeign
提供 OpenFeign 集成到 Spring Boot 应用的方式,主要解决服务之间的调用问题 -
Spring Cloud Contract
消费者驱动,面向 Java 的契约框架 -
Spring Cloud Zookeeper
基于 Apache Zookeeper 的服务注册和发现 -
Spring Cloud Data Flow
在一个结构化的平台上,组成数据微服务 -
Spring Cloud Gateway
官方推出的网关服务 -
Spring Cloud Kubernetes
针对 kubernetes 提供支持 -
Spirng Cloud Function
JDK1.8引入函数式编程可能用得到 -
Spring Cloud Task
短生命周期的微服务 -
主要学习 Netflix、Config、Bus、Consul、Stream、OpenFeign、Gateway