SpringCloud基础

本文介绍了微服务架构的演进过程,从单体架构到微服务架构,并重点介绍了SpringCloud这一微服务解决方案,包括其特点和主要组件如Eureka、Ribbon、Feign、Hystrix、Zuul、Gateway、Config、Bus、OAuth2和Sleuth。

目录

1、什么是微服务
1.1、架构演进
1.2、微服务架构
1.3、微服务解决方案
2、SpringCloud概览
2.1、什么是SpringCloud
2.2、SpringCloud主要组件
  • Eureka
  • Ribbon
  • Feign
  • Hystrix
  • Zuul
  • Gateway
  • Config
  • Bus
  • OAuth2
  • Sleuth

在这里插入图片描述


1、什么是微服务
1.1、架构演进

架构的发展历程是从单体式架构,到分布式架构,到SOA架构,再到微服务架构

  • 单体架构:未做拆分的Java web应用
    在这里插入图片描述

  • 分布式架构:按照业务垂直划分,每个业务都是单体架构,通过API互相调用。
    在这里插入图片描述

  • SOA架构:SOA是一种面向服务的架构。其应用程序的不同组件通过网络上的通信协议向其它组件提供服务或消费服务,所以也是分布式架构的一种。
    在这里插入图片描述

1.2、微服务架构
  微服务架构在某种程度上是SOA架构的进一步的发展
1.3、微服务解决方案

目前最流行的两种微服务解决方案是SpringCloudDubbo

2、SpringCloud概览

在这里插入图片描述

2.1、什么是SpringCloud

Spring Cloud 作为 Java 言的微服务框架,它依赖于 Spring Boot ,有快速开发、持续交付和容易部署等特点。 Spring Cloud 的组件非常多,涉及微服务的方方面面,并在开源社区 Spring、Netflix Pivotal 两大公司的推动下越来越完善。
SpringCloud是一系列组件的有机集合。
在这里插入图片描述
在这里插入图片描述

2.2、SpringCloud主要组件
  • Eureka
    Netflix Eureka 是由 Netflix 开源的一款基于 REST 的服务发现组件,包括 Eureka ServerEureka Client
    在这里插入图片描述
  • Ribbon
    Ribbon Netflix 公司开源的一个负载均衡的组件。
    在这里插入图片描述
  • Feign
    Feign是是一个声明式的Web Service客户端,微服务间调用。
    在这里插入图片描述
  • Hystrix
    Hystrix是Netstflix 公司开源的一个项目,它提供了熔断器功能,能够阻止分布式系统中出现联动故障。
    在这里插入图片描述
  • Zuul
    Zuul 是由 Netflix 孵化的一个致力于“网关 “解决方案的开源组件。
    在这里插入图片描述
  • Gateway
    Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0、 Spring Boot 2.0 和 Project Reactor 等
    技术开发的网关, Spring Cloud Gateway 旨在为微服务架构提供简单、 有效且统一的 API 路由
    管理
    方式。
    在这里插入图片描述
  • Config
    Spring Cloud 中提供了分布式配置中 Spring Cloud Config ,为外部配置提供了客户端和服务器端的支持。
    在这里插入图片描述
  • Bus
    使用 Spring Cloud Bus, 可以非常容易地搭建起消息总线。
    在这里插入图片描述
  • OAuth2
    Sprin Cloud 构建的微服务系统中可以使用 Spring Cloud OAuth2 来保护微服务系统。
    在这里插入图片描述
  • Sleuth
    Spring Cloud Sleuth是Spring Cloud 个组件,它的主要功能是在分布式系统中提供服务链路追踪的解决方案。
    在这里插入图片描述
Spring Cloud是一个基于Spring Framework的开发工具集,用于构建分布式系统的微服务架构。它提供了一系列的组件和工具,用于简化分布式系统开发、部署和管理的复杂性。以下是Spring Cloud的一些基础知识: 1. 服务注册与发现:Spring Cloud通过服务注册与发现组件,如Eureka、Consul等,实现了服务的自动注册和发现。服务提供者在启动时将自己注册到注册中心,服务消费者通过注册中心获取可用的服务实例。 2. 负载均衡:Spring Cloud通过Ribbon实现了客户端负载均衡。它可以根据负载均衡策略选择合适的服务实例进行请求转发,提高系统的可用性和性能。 3. 服务调用:Spring Cloud通过Feign或RestTemplate实现了服务之间的远程调用。开发者可以像调用本地方法一样调用远程服务,简化了服务间通信的复杂性。 4. 服务熔断与降级:Spring Cloud通过Hystrix实现了服务的熔断与降级。当某个服务发生故障或响应过慢时,可以通过熔断器快速失败并返回默认值,避免级联故障。 5. 配置中心:Spring Cloud Config提供了集中式的配置管理,可以将应用程序的配置集中存储在配置中心,并通过动态刷新机制实现配置的动态更新。 6. 链路追踪:Spring Cloud Sleuth和Zipkin可以实现分布式系统的链路追踪。通过生成唯一的跟踪ID,可以追踪请求在不同服务之间的流转路径,方便排查分布式系统的问题。 以上只是Spring Cloud的一些基础知识,它还包括了很多其他功能和组件,如服务网关、消息总线、分布式配置等。通过使用Spring Cloud,开发者可以更方便地构建和管理分布式系统的微服务架构。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值