1.什么是Spring Cloud

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

2.设计目标与优缺点

2.1.设计目标

协调各个微服务,简化分布式系统开发。

2.2.优缺点

微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用SpringCloud的呢?

  • 优点:
    • 1.产出于Spring大家族,Spring在企业级开发框架中无人能敌,来头很大,可以 保证后续的更新、完善
    • 2.组件丰富,功能齐全。Spring Cloud 为微服务架构提供了非常完整的支持。例 如、配置管理、服务发现、断路器、微服务网关等;
    • 3.Spring Cloud 社区活跃度很高,教程很丰富,遇到问题很容易找到解决方案
    • 4.服务拆分粒度更细,耦合度比较低,有利于资源重复利用,有利于提高开发效率
    • 5.可以更精准的制定优化服务方案,提高系统的可维护性
    • 6.减轻团队的成本,可以并行开发,不用关注其他人怎么开发,先关注自己的开发
    • 7.微服务可以是跨平台的,可以用任何一种语言开发
    • 8.适于互联网时代,产品迭代周期更短
  • 缺点

    • 1.微服务过多,治理成本高,不利于维护系统
    • 2.分布式系统开发的成本高(容错,分布式事务等)对团队挑战大

      3.SpringBoot和SpringCloud的区别?

  • SpringBoot专注于快速方便的开发单个个体微服务。 SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的 一个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总 线、全局锁、决策竞选、分布式会话等等集成服务

  • SpringBoot可以离开SpringCloud独立使用开发项目, 但是SpringCloud离不开SpringBoot ,属于依赖的关系
  • SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。