导图社区 SpringCloud
发一些个人学习的积累及自己遇到的面试题,有需要的同学可以参考一下。受个人能力的影响,若有错误欢迎提出来大家讨论。
社区模板帮助中心,点此进入>>
安全教育的重要性
个人日常活动安排思维导图
西游记主要人物性格分析
17种头脑风暴法
如何令自己更快乐
头脑风暴法四个原则
思维导图
第二职业规划书
记一篇有颜又有料的笔记-by babe
伯赞学习技巧
SpringCloud
核心组件
Eureka
若不用eureka还可以用什么?
zookeeper也可以。
eureka做注册中心与zookeeper有何不同?
nosql数据库的特点是CAP原则,也就是一致性,可用性,分区容错性。zookeeper保证了一致性与分区容错性,牺牲了可用性,这是因为zookeeper在选举时不能对外提供服务。eureka选择的是AP也就是可用性与分区容错性。eureka每个节点都是平等的,当一个节点宕机不影响其它节点对外提供服务。
说说CAP?(不要与CAS混淆)
C是致性。
A是可用性。
P是分区容错性。
Feign
Hystrix
hystirx熔断的方式有两种,一种是线程池,别一种是信号量,线程池默认是100,信号量默认也是100。
hystrix的降级与熔断怎么根据不同的用户来实现不同的标准?
在fallback里根据不同的用户来返回不同的信息。
什么场景使用线程池什么场景使用信号量?
CPU密集型的业务上下文切换很耗时选择信号量。IO密集型的业务选择线程池,因为信号量虽然是乐观锁,但加锁也是影响性能。
什么是服务雪崩?
什么是服务隔离?
线程池和信号量有什么不同?
1.线程池通过不同的线程来实现隔离。信号量就是一个线程安全的计数器。
2.线程池支持同步与异步,信号量只支持同步。
3.线程池上下文切换很耗资源,信号量是一个计数器。消耗资源很少。
4.线程池支持超时退出,而信号量不支持。
什么是滑动窗口?
是一个流量控制协议。双方约定传输数据的大小,接收方预留相应的缓冲区。
熔断的原理是什么?
当请求数达到一定的比例,当失败数达到一定的比例就会触发熔断。
Zull
zull解决了什么问题
统一鉴权
服务的路由
有哪些过滤器
pre
post
error
route
自己写一个ruul会用到哪些技术?
过滤器。
处理过程
请求->pre方法
zull默认的路由规则是什么?
服务名/**
若body体含大对象如20M,用zuul做网关会怎么样?
socket写错误(Caused by: java.net.SocketException: Connection reset by peer: socket write error)
ribbon
ribbon是客户端的负载均衡而Nginx是服务端的负载均衡
负载均衡的策略
轮询
随机
加权
与Dubbo区别
注册中心springcloud用eureka,dubbo用zookeeper
服力调用springcloud用REST API,dubbo用RPC
消息总线,实现的功能是功态刷新配置文件,而不用重启服务。注意与springcloud config的功能区分。
线程限流与流量限流有什么区别?
线程限流就是定义一个线程数量,超过这个线程数的请求就熔断。流量限流实际就是定义一个AtomicInteger的常量值,每次请求加,当达到这个常量值时,之后的请求就熔断。
怎么监控springcloud的服务是否正常?
使用Dashboard可以看服务的运行情况。
springCloud bus是什么?
消息总线用于动态刷新配置文件
主要用到rabbitMq的发布订阅机制,当调用刷新接口时,就将这个刷新信息发给MQ,MQ会将这个接口广播给客户端通知客户端去刷新配置文件。
springcloud的设计初始是什么?
为开发者提供分布式的解决方案。
微服务要考虑哪些方面的东西?
1.服务的注册与发现,其实就是用到eureka。
2.服务之间的调用。其实就是用到feign。
3.服务的降级与熔断。其实就是用到hystrix。
4.服务的路由与鉴权。其实就是用到了zuul网关。
怎么做微服务的健康检查?
springboot有个actuator组件可以。
springcloud与dubbo有什么区别?
1.通讯方式不同。springcloud采用restFul方格的api,dubbo采用的是rpc远程通讯。2.注册中心不同,springcloud使用eureka,dubbo使用zookeeper。3.解决方案的范围不同,springcloud是分布式解决方案的全家桶。而dubbo只是解决了服务之间调用的问题。
springcloud config
springcoud config 是如何做到自动更新的?
这主要是由于使用了rabbimq做消息的发布订阅,各个服务订阅了消息,当要更新时通知各个服务自己去调用刷新接口实现自动更新配置文件。
怎么做到自动刷新配置文件的
通过消息总线springcloud bus
soa
什么是soa?soa是一个服务治理框架,包括三部分的内容:1.注册中心 2.服务提方 3.服务消费方。特点是就是扩容方便。
post方法
路由