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 快照版

  • 查看官网版本:
    Spring cloud 看江南一点雨学习笔记

四、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

4.2 SpringCloud 和 Spring Boot 版本关系

查看官网
Spring cloud 看江南一点雨学习笔记