学习 SpringCloud 五大组件后的总结 一

1、什么是微服务?

把某一功能独立出来单独作为一个进程类似的微小的服务。独立做某件事,与其他的服务直接不影响。

微服务之间的优缺点?

优点:
	每个服务足够内聚,足够小,代码容易理解,这样能聚焦一个指定的业务功能或业务需求
	微服务是松耦合的,是有功能意义的服务,无论是在开发阶段还是部署阶段都是独立的
	微服务能够使用不同的语言开发
	易于与第三方集成,微服务允许容易且灵活的方式集成自动部署,通过集成工具,如 Jenkis,Hudson、bamboo。
	微服务只是业务逻辑代码,不会和HTML,CSS  或其他的界面组件混合
	每个微服务都有自己的存储能力,可以有自己单独的数据库,也可以有统一的数据库
缺点:
	开发人员要处理分布式系统的复杂性
	多服务运维难度,随着服务增加,运维压力也在增大
	系统部署时的依赖
	服务间的通信成本
	数据一致性
	系统集成测试+性能监控....等等

2、微服务之间是如何独立通讯的?

把dubbo和SpringCloud 通讯的方式举例出来

Dubbo 通讯是 RPC 方式 ------------- SpringCloud 通讯是 RESTFUL API 方式

3、SpringCloud和Dubbo有哪些区别?

— 可以基于几个不同的方面来解释 二者之前的差别
1、二者的开源社区,SpringCloud 的开源社区一直是处于活跃状态
而Dubbo 从2017 年才被 阿里重新维护,这导致整体解决方案和框架的成熟度不同
2、 基于技术栈维度的不同
SpringCloud 是完整的微服务框架,Dubbo 是单一的服务框架
通讯方式一种 支持 RPC 一种支持 REST
二者支持 服务注册与发现
SpringCloud 通过Eureka 开实现服务注册与发现
支持负载均衡
SpringCloud 以服务端 Zuul+客户端 Ribbon 的方式
Zuul 实现服务 动态路由 云端负载均衡
SpringCloud 支持配置服务—Config Server 集中配置管理
服务调用链监控 Zuul提供边缘服务,API网关
以业务需求来看,SpringCloud 有着一整套的 微服务体系,无疑是要比 Dubbo开发更加简便

4、什么是服务熔断、什么是服务降级 ?

	服务熔断,服务降级,首先,SpringCloud  使用Hystrix 组件来进行熔断降级

	这是 Hystrix 组件的客户端,作用是来监控 已经注册过的服务,而其中的  五个 圈圈上的颜色代表各自的 服务访问状态。
	红色代表 很危险的一个状态,基本上这个时候可能就会因为某些原因变得不可用,这个时候监控到了就会对  此服务做一个熔断并降级的处理。
	让此服务在不可用的情况下,返回一串可识别的标识来给 前端 让其反馈给客户,而不至于服务一直访问堆积导致服务系统大幅度瘫痪。宕机

5、SpringCloud 和SpringBoot是 什么关系
SpringBoot 专注于快速方便开发单个个体微服务
SpringCloud是关注全局的微服务协调治理框架,它将SpringBoot开发的一个个微服务整合并管理起来,为各个服务之间提供 配置管理、服务发现、断路器、路由、微代理,事件总线、全局锁、决策竞选、 分布式会话等集成服务。。
SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系
总结:SpringBoot专注快速方便开发单个微服务个体,SpringCloud 关注全局的服务治理框架

更多推荐

学习 SpringCloud 五大组件后的总结 一