SpringCloudAlibaba
1.什么是SpringCloud?
SpringCloud流应用程序启动器是基于SpringBoot的Spring集成应用程序,提供与外部系统的集成。
SpringCloudAlibaba是SpringCloud的子项目,基于SpringCloud的应用提供了一些开箱即用的分布式解决方案,提供了企业级的特性和解决方案。
2.SpringCloudAlibaba有哪些组件?
1.Nacos:作为注册中心和配置中心,便于微服务的发现和配置管理。
2.Sentinel:流量控制、熔断降级、系统负载保护。
3.Seata:分布式事物管理。
---- 4.RocketMQ:高性能、高可靠的分布式消息中间件。
3.什么是服务熔断?什么是服务降级?
熔断机制:是应对雪崩效应的一种微服务链路保护机制。当某个微服务不可用或相应时间太长时,会进行服务降级,进而熔断该节点微服务的调用,快速返回“错误”的相应信息。
服务降级:一般是从整体负荷考虑。当某个服务熔断后,服务器将不再被调用,此时客户端可以自己准备一个本地的fallback回调,返回一个缺省值。这样做,虽然水平下降,但好歹可用,比直接挂掉强。
4.SpringBoot和SpringCloud的区别?
SpringBoot专注于单个个体服务。
SpringCloud是关注全局的微服务协调治理框架,它将SpringBoot开发的一个个单体服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、分布式会话等等集成服务。
SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系。
5.什么是feign?它的优点是什么?
Feign是声明式web服务客户端,内置了Ribbon,具备负载均衡的能力,同时与Gateway等服务发现组件无缝集成,使得微服务架构中调用其他服务变得快捷。
优点:1.声明式api
2.集成性
3.负载均衡:可以自动分发请求到不同的服务实例,提高系统的性能和可用性。
4.可扩展性
5.简化开发:不用过多关注底层HTTP请求的处理。
6.什么是Gateway?
第二代网关框架,旨在代替Zuul网关,负责请求路由、过滤、负载均衡及安全等功能。
1.请求路由:能够将客户端请求路由到具体的为服务上,可通过路由规则判断请求应该转发到那个目标地址。
2.过滤:可以对请求和相应进行过滤和处理。
3.负载均衡:能够与Feign集成,实现请求的负载均衡。
4.动态路由:可以动态的添加或删除路由规则,支持路由规则的热更新,便于进行配置管理和灰度发布。
7.Nacos注册中心挂了, 服务还可以继续通信吗?
不会影响已经注册的服务之间的直接通信。
影响:新的服务无法注册、无法及时发现下线的服务、无法动态扩展服务实例