1、什么是SpringCloud?

答:
1、SpringCloud是一系列分布式微服务框架的集合体。
2、SpringCloud利用SpringBoot开发的便利性简化了微服务系统的开发
3、SpringCloud包括服务注册中心、配置中心,负载均衡、智能路由、消息总线、服务降级、数据监控等【Spring Cloud的组成】

2、SpringCloud的设计目标与优缺点?

设计目标:
协调各个微服务,简化分布式系统的开发。
优点 advantage:降底复杂度、可独立部署、扩展性好、容错率高
1、组件丰富、结构完善,SpringCloud配套了完整的分布式微服务开发框架,如服务注册中心、配置中心、负载均衡、消息总线、智能路由、服务降级、数据监控等。
2、SpringCloud 社区活跃度高,遇到问题很容易找到解决方案。
3、代码耦合度低,大大增加了开发的效率。
4、可以实现并行开发,大大减少团队的压力,可关注自己的开发。
5、可实现跨平台开发,适用于任何一种语言。
缺点disadvantage:
1、微服务过多,治理成本较高,不利于系统的维护
2、分布式微服务系统的开发成本高(容错、分布式事务处理等)

3、SpringCloud的主要项目

十三、SpringCloud面试题 - 图1

4、SpringCloud和Spring Boot的区别

SpringBoot更加专注于单个个体微服务的开发。
SpringCloud注重于全局的分布式微服务协调治理框架,它是将SpringBoot开发的一个个单体微服务整合并管理起来。为各个微服务提供注册中心、配置管理、负载均衡调用、只能路由、服务降级、消息总线、请求监控等等集成服务。
SpringBoot可以离开SpringCloud实现单个个体微服务的开发,但是SpringCloud不能离开SpringBoot,属于依赖的关系。

5、 Spring Cloud 和Dubbo的区别

image.png
总的来说: Spring Cloud 取代了Dubbo的RPC 通信方式,而采用了基于HTTP的Rest方式。Dubbo的定位始终是一款RPC框架,而Spring Cloud的目的是微服务架构下的一站式解决方案,而dubbo是关于服务的一个解决方案。
1、底层协议:sprng cloud基于是http协议,dubbo是基于tcp协议,决定了dubbo的性能较高
2、注册中心:本质就是Eureka(AP)和zookeeper的区别(CP)
3、模型定义:dubbo将一个接口定义为一个服务,springCloud则是将一个应用定义为一个服务。