1. 什么是熔断器?它的工作原理是什么?
熔断器,是微服务系统中的一种链路保护机制,它可以有效地防止级联故障。熔断器的工作原理以Hystrix为例,首先我们在程序初始化初期就设置了允许请求失败的一个阈值,当在一定时间内请求失败达到这个阈值就会触发熔断,经过一段时间后熔断器会半开半闭,如果此时后端服务恢复,那么熔断器失效,否则重新等待相同时间。
2. 谈谈什么是单点故障?
单点故障是在分布式系统中,非常常见的一个问题,单点故障指的就是一个服务的不可用,而导致其他服务不能正常被调用,比如如果系统中的服务网关发生了故障,那么需要通过它调用的子系统也无法被正常调用。
3. 请说出你在开发中常用的Java类有哪些?
- String类,它是长度不可被改变的字符串。
- StringBuffer类,它是长度可变的字符串。
- File类,用于IO操作。
- InputStream类,但涉及到网络流传输的时候通常使用。
- HashMap类,它是一个key-value键值对象。
4. mybatis与mybatisplus之间有什么区别?
- mybatisplus可以说是mybatis的扩展,它能够自动生成sql。
- mybatisplus提供了更多插件扩展,比如逻辑删除、自动填充。
5. 如果让你设计一个用户登录服务,你会如何设计?
如今的互联网系统,大部分都是分布式的,所以可以将用户服务单独抽取出来,开发一个单独的用户认证中心,认证中心可以起到一个用户令牌发放,以及用户身份校验的功能,为用户发放的令牌需要在缓存中备份一份。