SpringCloud框架知识点整理

什么是Spring Cloud?

Spring Cloud是一系列框架的有序集合。利用了SpringBoot的开发便利性,巧妙的简化了分布式系统基础设施的开发,如服务发现注册,配置中心,智能路由,消息总线,负载均衡,断路由器,数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟,经得起考验的服务框架组合到了一起,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者流出了一套简单易懂,易部署和易维护的分布式系统开发工具包。

设计目标:协调各个微服务,简化分布式系统开发。

和其他微服务框架(dubbo,kubernates)比,Spring Cloud的优点是:

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

微服务之间是如何通讯的?Spring cloud和dubbo有什么区别?

dubbo是基于RPC远程过程调用的

Spring cloud是基于http rest API调用的。

  dubbo

Spring Cloud

服务注册中心 Zookeeper Spring cloud Netflix Eureka
服务调用方式 RPC REST API
服务监控 Dubbo-monitor

Spring boot Admin

断路器 不完善 Spring cloud Netflix Hystrix
服务网关

Spring cloud Netflix Zuui

分布式配置 Spring cloud Config
服务跟踪 Spring cloud Sleuth
消息总线 Spring cloud Bus
数据流 Spring cloud Stream
批量任务 Spring cloud Task

 

 

 

 

 

 

 

 

 

 

 

最大的区别就是服务调用方式不同,Springcloud抛弃了RPC通信,采用了基于HTTP的REST方式。

严格来说,Spring cloud牺牲了服务调用的性能,但也避免了原生RPC带来的问题。而REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。

 

 

 

 

 

你可能感兴趣的:(spring)