• Springcloud 学习笔记01-整体架构


    构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、可靠、协调的应用程序。 SpringCloud是在SpringBoot的基础上构建的,使开发者可以轻松入门并快速提高工作效率。 SpringCloud为开发人员提供了快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。

    01 整体架构

     SpringCloud是一个由许多子项目组成的综合项目,各子项目有不同的发布节奏。 为了管理SpringCloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个SpringCloud版本对应的子项目版本。

    SpringCloud VersionSpringBoot Version
    Hoxton 2.2.x
    Greenwich 2.1.x
    Finchley 2.0.x
    Edgware 1.5.x
    Dalston 1.5.x

    02 SpringCloud子项目简介

    2.1 Spring Cloud Netflix

    Netflix OSS 开源组件集成,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心组件。

    • Eureka:服务治理组件,包括服务端的注册中心和客户端的服务发现机制;
    • Ribbon:负载均衡的服务调用组件,具有多种负载均衡调用策略;
    • Hystrix:服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力;
    • Feign:基于Ribbon和Hystrix的声明式服务调用组件;
    • Zuul:API网关组件,对请求提供路由及过滤功能。

    2.2 Spring Cloud Bus

    用于传播集群状态变化的消息总线,使用轻量级消息代理链接分布式系统中的节点,可以用来动态刷新集群中的服务配置。

    2.3 Spring Cloud Consul

    基于Hashicorp Consul的服务治理组件。

    2.4 Spring Cloud Security

    安全工具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进行支持。

    2.5 Spring Cloud Sleuth

    SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟踪。

    2.6 Spring Cloud Stream

    轻量级事件驱动微服务框架,可以使用简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及RabbitMQ。

    2.7 Spring Cloud Task

    用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性。

    2.8 Spring Cloud Zookeeper

    基于Apache Zookeeper的服务治理组件。

    2.9 Spring Cloud Gateway

    API网关组件,对请求提供路由及过滤功能。

    2.10 Spring Cloud OpenFeign

    基于Ribbon和Hystrix的声明式服务调用组件,可以动态创建基于Spring MVC注解的接口实现用于服务调用,在SpringCloud 2.0中已经取代Feign成为了一等公民。

    参考文献:http://www.macrozheng.com/#/cloud/springcloud.md

  • 相关阅读:
    如何提高AJAX客户端响应速度
    JS 数组间的操作
    Spring上传报错413
    设计模式-简单工厂模式学习笔记
    vue辅助函数mapStates与mapGetters
    Vue编程式跳转
    Vue父子,子父,非父子组件之间传值
    node.js中的fs.rename()方法
    map字典,储存cookie,切换账户,展示购物车不同商品
    Gulp
  • 原文地址:https://www.cnblogs.com/luckyplj/p/15093449.html
Copyright © 2020-2023  润新知