• SpringCloud简介初体验


    什么是SpringCloud


    简单来说,微服务是一种架构模型,就是把系统中的各个功能点都拆开为一个个的小应用然后单独部署,同时因为这些小应用多,所以需要一些办法来管理这些小应用。

    Spring Cloud只是一个微服务框架的规范,注意,只是规范,并不是任何具体法人框架。主要大概有以下几种功能

    1. eureka(提供服务的注册和发现功能)
    2. ribbon(提供负载均衡功能)
    3. Feign(整合了ribbon和Hystrix,具有负载均衡和熔断限流等功能)
    4. Hystrix(提供了熔断限流,合并请求等功能)
    5. Zuul(提供了智能路由的功能)
    6. Hystrix Dashboard(提供了服务监控的功能,提供了数据监控和友好的图形化界面)
    7. Hystrix Turbine(Hystrix Turbine将每个服务Hystrix DashBoard数据进行了整合,也是监控系统的功能)
    8. Spring Cloud config(提供了统一配置的功能)
    9. Spring Cloud(提供了配置实时更新的功能,控制总线)
    10. ...

    注意:需要注意的是这些组件并不是一体化的,也可以用NCOS或Zookeeper来替换eureka

    目前主流并且恰好能够满足上面的需求,就是Spring Cloud Netflix,当然Spring Cloud的实现产品不止这一个,还有最近由阿里新起的Spring Cloud Alibaba等。

    Spring Cloud和Spring boot的关系


    其实它们之间并没有什么特殊的关系,只不过当下流行微服务,而实现一个服务最快的办法就是用Spring boot,仅此而已。

    Spring Cloud和dubbo的关系


    dubbo是阿里搞得一套框架,是基于RPC调用的,而Spring Netflix是基于HTTP的,所以效率上应该dubbo更快,但是dubbo的组件不是很齐全,它的很多功能比如服务注册于发现你需要借助于类似Zookeeper等组件才能实现,而Spring Cloud Netflix则是提供了一站式解决方案。

    如何学习Spring Cloud

    在此贴出以为大牛的Spring Cloud入门,真的通俗易懂。

    https://www.fangzhipeng.com/spring-cloud.html

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

    SpringCloud子项目简介


    Spring Cloud config

    集中管理工具,分布式系统中统一的外部配置管理,默认使用Git来存储配置,可以支持客户端配置的刷新及加密、解密操作。

    Spring Cloud Netflix

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

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

    Spring Cloud Bus

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

    Spring Cloud Consul

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

    Spring Cloud Security

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

    Spring Cloud Sleuth

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

    Spring Cloud Stream

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

    Spring Cloud Task

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

    Spring Cloud Zookeeper

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

    Spring Cloud Gateway

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

    Spring Cloud OpenFeign

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

  • 相关阅读:
    多任务异步操作在爬虫中的应用
    selenium怎样避免被服务器检测
    python查看文件夹下所有文件
    使用selenium实现站长素材图片采集
    云打码接口
    django的请求生命周期
    django中间件
    Python之Hello World的条件输出实例
    项目要部署到远程的服务器:
    饭侠main.js
  • 原文地址:https://www.cnblogs.com/MrAshin/p/12013644.html
Copyright © 2020-2023  润新知