SpringCloud02

SpringCloud简介

SpringCloud是基于SpringBoot提供的一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装外,还有一些选型中立的开源组件。

SpringCloud利用SpringBoot的开发便利性,巧妙的简化了分布式系统基础设施的开发(也就是微服务应用的构建),SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等,他们都可以用
SpringBoot的开发风格做到一键启动和部署

SpringBoot并没有重复造轮子,他只是将目前各大公司开发的比较成熟的,经得起实际考验的微服务框架组合起来,通过SpringBoot风格进行再封装,简化了复杂的配置和实现原理,最终给开发者整理出一套简单易懂,易部署、易维护的分布式系统开发工具包

SpringCloud是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。

SpringCloud和SpringBoot的关系

  1. SpringBoot专注于快速的开发单个微服务应用,以最终以jar的形式体系
  2. SpringCloud是关注全局微服务间协调和治理的框架,他将SpringBoot开发的单个微服务应用整合起来进行管理,为各个服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等集成服务
  3. SpringBoot可以独立存在,而SpringCloud依赖SpringBoot而存在
    总结:SpringBoot是一个专注于快速开发单个服务应用的框架,SpringCloud关注全局的微服务应用的管理。

现今网站的基本构建

image

SpringCloud与Dubbo对比

  1. 区别:
    1. SpringCloud采用的是基于HTTP的REST风格的通信方式
    2. Dubbo采用的是RPC通信方式,Dubbo是一个专注于高新能的RPC框架
  2. 组件层面:
    1. SpringCloud的功能比Dubbo更加强大,其能够与SpringFramework、SpringBoot、SpringData、SpringBatch等其他Spring项目进行完美融合,这些功能对于微服务来说是至关重要的
    2. Dubbo可组合自由度更高,缺失很多组件需要自己进行选取组装
  3. 公司层面:
    1. SpringCloud有一套完整的解决方案,拿来即用(且SpringCloud社区活跃度极高,能够紧随时代的发展)
    2. Dubboo需要强大的技术能力修改Dubbo的源码,并且组合出一套完整的分布式问题解决方案,需要强大的力量,得不偿失(2017年重启更新)

SpringCloud的版本

image

posted @ 2021-10-19 22:12  争取做百分之一  阅读(36)  评论(0)    收藏  举报