• SpringCloud简介


    一、SpringCloud是什么?

    SpringCloud最擅长的就是集成,把其他框架拿过来集成到自己的项目中。

    SpringCloud也是一样,它将现在非常流行的一些技术融合到了一起,实现了诸如:服务发现注册、配置管理、服务发现、智能路由、负载均衡、熔断器、控制总线、集群状态等功能。其主要涉及的组件包括:

    • 基于Netflix实现服务治理、客户端负载均衡和声明式调用;
    • 服务网关;
    • 微服务容错管理;
    • 整合消息中间件提供消息驱动式开发
    • 基于Spring Security提供微服务安全、单点登录功能
    • 分布式、版本化的统一配置管理
    • 微服务调用链及追踪管理

    SpringCloud架构图

     

     

    二、SpringCloud组件概览

    SpringCloud的组件分为两大类型

    第一种是依赖其他组件并提供服务的,主要有Ribbon、Hystrix、Feign、Stream、Bus、Sleuth

    Ribbon:客户端负载均衡,特性有区域亲和、重试机制

    Hystrix:客户端容错保护,特性有服务降级、服务熔断、请求缓存、请求合并、依赖隔离。

    Feign:声明式服务调用,本质上就是Ribbon+Hystrix

    Stream:消息驱动,有Sink、Source、Processor三种通道,特性有订阅发布、消费组、消息分区。

    Bus:消息总线,配合Config仓库修改得一种Stream实现。

    Sleuth:分布式服务追踪,需要搞清楚TraceID和SpanID以及抽样,如何与ELK整合。

    第二种是独自启动不需要依赖其他组件,主要有Eureka,Dashboard,Turbine,Zuul,Config。

    Eureka:服务注册中心,特性有失效剔除、服务保护。

    Dashboard:Hystrix仪表盘,监控集群模式和单点模式,其中集群模式需要收集器Turbine配合

    Turbine:集群收集器,服务于Dashboard。

    Zuul:API服务网关,功能有路由分发和过滤。

    Config:分布式配置中心,支持本地仓库、SVN、Git、Jar包内配置等模式。 

    Spring核心功能组件

    服务治理:SpringCloud Netflix Eureka

    服务容错:SpringCloud Circuit Breaker

    服务网关:SpringCloud Gateway

    配置中心:SpringCloud Config

    事件驱动:SpringCloud Stream

    服务安全:SpringCloud Security

    链路跟踪:SpringCloud Sleuth

    服务测试:SpringCloud Contract

    三、SpringCloud核心组件详解

    SpringCloud核心组件主要包括Spring Cloud Netflix项目下的Eureka、Ribbon、Hystrix、Zuul以及Config和Feign。

    1、Eureka

    Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Reigstry和Service Discovery实现,也是Spring Cloud体系中最重要最核心的组件之一。Eureka提供了服务注册中心、服务发现客户端、以及注册服务的UI界面应用。

    我们可以把Eureka看作是一个服务中心,所有的可以提供的服务都注册到它这里来管理,其他调用者需要的时候去注册中心获取,然后再进行调用。这样就避免了服务之间的直接调用,方便后续的水平扩展、故障转移等。服务注册中心是非常重要的组件,一旦挂掉将会影响全部服务,因此需要搭建Eureka集群来保持高可用性,生产环境中最少两台。在Eureka的实现中,节点之间相互平等,有部分注册中心"挂掉"也不会对整个应用造成影响,即使集群只剩一个节点存活,也能正常的治理服务。即使所有的服务注册节点都宕机,Eureka客户端中所缓存的服务实例列表信息,也可以让服务消费者能够正常工作,从而保障微服务之间的相互调用的健壮性和弹性。

    如下图所示:

    Eureka服务器(注册中心)是一个Eureka Server,提供服务注册和发现功能;

    Eureka客户端(服务生产者)是一个Eureka client,从注册中心注册、获取信息,用来提供服务;

    Eureka客户端(服务消费者)也是一个Eureka Client,从注册中心注册、获取信息和进行服务查找,用来消费服务。

  • 相关阅读:
    Sqoop详细知识
    数据分析与数据挖掘
    数仓 星形模型与雪花模型 简单理解
    mapreduce多进程与spark多线程比较
    ETL工具总结
    数据仓库概述
    利用 Azure Devops 创建和发布 Nuget 包
    设置 Nuget 本地源、在线私有源、自动构建打包
    简单理解 OAuth 2.0 及资料收集,IdentityServer4 部分源码解析
    asp.net core 健康检查
  • 原文地址:https://www.cnblogs.com/longlyseul/p/16651637.html
Copyright © 2020-2023  润新知