0.Spring Cloud是什么?
它是一个以Spring、Spring Boot为基础的微服务生态(或者说框架)。

1.Dubbo 和 Spring Cloud 的关系?
Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流
量分发、流量监控和熔断。而 Spring Cloud 诞生于微服务架构时
代,考虑的是微服务治理的方方面面,另外由于依托了Spring、
Spring Boot 的优势之上,两个框架在开始目标就不一致,Dubbo
定位服务治理、Spring Cloud 是一个生态。

2.Dubbo 和 Spring Cloud 的区别?
①协议区别:Dubbo 底层是使用 Netty 这样的 NIO 框架,是基于
TCP 协议传输的,配合以 Hession 序列化完成 RPC 通信。
而 SpringCloud 是基于 Http 协议+Rest 接口调用远程过程的通信,
相对来说,Http 请求会有更大的报文,占的带宽也会更多。但是
REST 相比 RPC 更为灵活,服务提供方和调用方的依赖只依靠一纸契
约,不存在代码级别的强依赖。
②组件区别:由于Dubbo定位主要解决分布式调用,而Spring Cloud更全面,在网关、消息总线、分布式配置和数据流等方面都有设计,Dubbo这方面是缺失的。

3.服务注册和发现是什么意思?Spring Cloud 如何实现?
当我们开始一个项目时,我们通常在属性文件中进行所有的配置。随着越来越多的服务开发和部署,添加
和修改这些属性变得更加复杂。有些服务可能会下降,而某些位置可能会发生变化。手动更改属性可能会
产生问题。 Eureka 服务注册和发现可以在这种情况下提供帮助。由于所有服务都在 Eureka 服务器上注
册并通过调用 Eureka 服务器完成查找,因此无需处理服务地点的任何更改和处理。

4.使用Spring Cloud有什么优势(为什么使用Spring Cloud)?
使用Spring Boot开发分布式微服务解决以下问题
? 与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。
? 服务发现-服务发现工具管理群集中的流程和服务如何查找和互相交谈。它涉及一个服务目录,在该
目录中注册服务,然后能够查找并连接到该目录中的服务。
? 冗余-分布式系统中的冗余问题。
? 负载平衡 --负载平衡改善跨多个计算资源的工作负荷,诸如计算机,计算机集群,网络链路,中央
处理单元,或磁盘驱动器的分布。
? 性能-问题 由于各种运营开销导致的性能问题。
? 部署复杂性-Devops 技能的要求。