话说微服务,基础知识
每一位做微服务的工程师,都应该具备扎实的基础,我罗列一些问题,以便自省。
- HTTP如何实现防盗链?———通过请求头来源判断
- TCP与UDP有什么区别?———可靠性
- Zookeeper是干什么用的? ——分布式调度工具
- 什么时候用到? ——MQ发布订阅,分布式配置中心,elastic-job依赖ZooKeeper,Kafka 靠的是ZooKeeper临时节点和事件通知
- Dubbo(服务治理)、分布式配置中心有了解过吗?——
- 分布式锁中如何避免死锁? ———设置有效期,所以就不会一直产生死锁
- Nginx是干什么用的?
- Nginx如何实现负载均衡?
- 负载均衡有哪些策略? ——
- 两个项目做个集群,每次重启服务器,session会不会失效?
- 如果失效,如何解决失效问题?——缓存,token替代
- Spring是干什么用的? ——
- 面向切面编程是干什么用的? ——
Spring IOC 和AOP
AOP应用场景:解决代码复用问题 方法之前和之后进行拦截 事物、日志收集、权限控制、框架注解实现
AOP原理:动态代理设计模式JDK动态代理和CGLIB
- JDK动态代理和CGLIB这两者有什么区别?——
- Redis是干什么用的?
- 你的项目中哪些地方用到Redis?
- Redis如何实现分布式锁? ——通过
- Redis实现分布式锁与ZooKeeper实现分布式锁有什么区别? ——
梦想还是要有的,万一实现了呢!