Spring Cloud 微服务 ---01简介

spring cloud 介绍

  • Spring Cloud 是一系列框架的集合,集成了多种工具,来解决微服务中的各种问题

spring cloud 是一系列框架的集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。spring cloud 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 spring boot 风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

微服务的整体解决方案,微服务全家桶

  • 服务发现注册
  • 远程调用
  • 负载均衡
  • 系统容错 - 降级、熔断
  • API网关
  • 配置中心
  • 系统监控

spring cloud 对于中小型互联网公司来说是一种福音,因为这类公司往往没有实力或者没有足够的资金投入去开发自己的分布式系统基础设施,使用 spring cloud 一站式解决方案 能在从容应对业务发展的同时大大减少开发成本。同时,随着近几年微服务架构和 docker 容器概念的火爆,也会让 spring cloud 在未来越来越 “云” 化的软件开发风格中立有一席之地,尤其是在目前五花八门的分布式解决方案中提供了标准化的、一站式的技术方案,意义可能会堪比当年 servlet 规范的诞生,有效推进服务端软件系统技术水平的进步。

spring cloud 技术组成

在这里插入图片描述

  • eureka
    微服务治理,服务注册和发现

  • ribbon
    负载均衡、请求重试

  • hystrix
    断路器,服务降级、熔断

  • feign
    ribbon + hystrix 集成,并提供声明式客户端

  • hystrix dashboard 和 turbine
    hystrix 数据监控

  • zuul
    API 网关,提供微服务的统一入口,并提供统一的权限验证

  • config
    配置中心

  • bus
    消息总线, 配置刷新

  • sleuth+zipkin
    链路跟踪

Spring Cloud 对比 Dubbo

在这里插入图片描述

  • Dubbo 是远程调用工具

    • RPC调用,
    • java序列化
  • Spring Cloud 是集成工具,集成多种工具解决微服务中的所有问题

    • 基于http调用
    • Rest API