15. 什么是 feigin ?它的优点是什么?
1.feign 采用的是基于接口的注解
2.feign 整合了 ribbon,具有负载均衡的能力
3.整合了 Hystrix,具有熔断的能力
使用:
1.添加 pom 依赖。
2.启动类添加@EnableFeignClients
3.定义一个接口@FeignClient(name=“xxx”)指定调用哪个服务
16. Ribbon 和 和 Feign 的区别?
1.Ribbon 都是调用其他服务的,但方式不同。
2.启动类注解不同,Ribbon 是@RibbonClient feign 的是@EnableFeignClients
3.服务指定的位置不同,Ribbon 是在@RibbonClient 注解上声明,Feign 则是在定义抽象方
法的接口中使用@FeignClient 声明。
4.调用方式不同,Ribbon 需要自己构建 http 请求,模拟 http 请求然后使用 RestTemplate
发送给其他服务,步骤相当繁琐。Feign 需要将调用的方法定义成抽象方法即可。
17. 什么是 Spring Cloud Bus?
spring cloud bus 将分布式的节点用轻量的消息代理连接起来,它可以用于广播配置文件的
更改或者服务直接的通讯,也可用于监控。
如果修改了配置文件,发送一次请求,所有的客户端便会重新读取配置文件。
使用:
1.添加依赖
2.配置 rabbimq
18. 什么是 Hystrix?
防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)
服务降级:
双十一 提示 哎哟喂,被挤爆了。 app 秒杀 网络开小差了,请稍后再试。
优先核心服务,非核心服务不可用或弱可用。通过 HystrixCommand 注解指定。
fallbackMethod(回退函数)中具体实现降级逻辑。
19. springcloud 断路器作用?
当一个服务调用另一个服务由于网络原因或自身原因出现问题,调用者就会等待被调用者的
响应 当更多的服务请求到这些资源导致更多的请求等待,发生连锁效应(雪崩效应)
断路器有完全打开状态:一段时间内 达到一定的次数无法调用 并且多次监测没有恢复的迹
象 断路器完全打开 那么下次请求就不会请求到该服务
半开:短时间内 有恢复迹象 断路器会将部分请求发给该服务,正常调用时 断路器关闭
关闭:当服务一直处于正常状态 能正常调用
20. 什么是 SpringCloudConfig?
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需
要分布式配置中心组件。在 Spring Cloud 中,有分布式配置中心组件 spring cloud config ,
它支持配置服务放在配置服务的内存中(即本地),也支持放在远程 Git 仓库中。在 spring
cloud config 组件中,分两个角色,一是 config server,二是 config client。
使用:
1、添加 pom 依赖
2、配置文件添加相关配置
3、启动类添加注解@EnableConfigServer
21. 架构?
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均
衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的
微服务系统
在 Spring Cloud 微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载
均衡(zuul、Ngnix),再到达服务网关(zuul 集群),然后再到具体的服。,服务统一注
册到高可用的服务注册中心集群,服务的所有的配置文件由配置服务管理,配置服务的配置
文件放在 git 仓库,方便开发人员随时改配置。
网友评论