zoukankan      html  css  js  c++  java
  • 什么是springcloud?springcloud断路器的作用是什么?springcloud的核心组件有什么?

    一、什么是springcloud

    1.springcloud概述

    Spring Cloud是一个微服务框架,相比Dubbo等RPC框架, Spring Cloud提供的全套的分布式系统解决方案。
    Spring Cloud对微服务基础框架Netflix的多个开源组件进行了封装,同时又实现了和云端平台以及和Spring Boot开发框架的集成。
    SpringCloud为微服务架构开发涉及的配置管理,服务治理,熔断机制,智能路由,微代理,控制总线,一次性token,全局一致性锁,leader选举,分布式session,集群状态管理等操作提供了一种简单的开发方式。
    Spring Cloud为开发者提供了快速构建分布式系统的工具,开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

    2.springcloud子项目

    Spring Cloud Config:配置管理工具,支持使用Git存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新、加解密配置内容等
    Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
    Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
    Netflix Eureka:一个基于rest服务的服务治理组件,包括服务注册中心、服务注册与服务发现机制的实现,实现了云端负载均衡和中间层服务器的故障转移。
    Netflix Hystrix:容错管理工具,实现断路器模式,通过控制服务的节点,从而对延迟和故障提供更强大的容错能力。
    Netflix Ribbon:客户端负载均衡的服务调用组件。
    Netflix Feign:基于Ribbon和Hystrix的声明式服务调用组件。
    Netflix Zuul:微服务网关,提供动态路由,访问过滤等服务。
    Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
    Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
    Spring Cloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。
    Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。
    Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。
    Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
    Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。
    Spring Cloud Stream:数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
    Spring Cloud CLI:基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。

    二、spring断路器的作用

      在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。

    三、springcloud的核心组件有哪些

    • Eureka:服务注册于发现。

    • Feign:基于动态代理机制,根据注解和选择的机器,拼接请求 url 地址,发起请求。

    • Ribbon:实现负载均衡,从一个服务的多台机器中选择一台。

    • Hystrix:提供线程池,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题。

    • Zuul:网关管理,由 Zuul 网关转发请求给对应的服务。

  • 相关阅读:
    python3给socket模块设置代理
    yield、greenlet与协程gevent
    线程池
    并发通信、生产者与消费者模型
    多进程和多线程
    非阻塞套接字与IO多路复用
    14.python模块之subprocess
    判断页面是否滑到底部
    @vue/cli 3.x 版本配置productionGzip提高性能
    vue跳转到指定位置
  • 原文地址:https://www.cnblogs.com/jxxblogs/p/14855123.html
Copyright © 2011-2022 走看看