前言:
眼前朋友们对“nginx五元组”大致比较关注,你们都想要知道一些“nginx五元组”的相关知识。那么小编同时在网络上汇集了一些有关“nginx五元组””的相关文章,希望大家能喜欢,咱们快快来学习一下吧!这些年,分布式框架越用越成熟,越用越广泛。几前年还只是架构师和高级开发的面试必考题,现在已经连应届生都要面对了。
分布式框架看似又多又复杂,但主要集中在协调类框架如 Zookeeper,分布式缓存如 Redis,消息队列如 Kafka,数据库 MySQL 的分库分表方案如 MyCat,全文检索如 ElasticSearch,微服务如 Dubbo,方向代理如 Nginx。
每种技术都有多个框架供大家选择,具体应用依赖业务场景,大厂们内部也有自己的实现,一般面试官要求同类型的框架深入了解一个即可,毕竟学会了一个,其他就很容易入手。
我这里也就每种类型都列举了一个,其中消息队列选了两个,因为笔者所在的部门根据业务的不同经常用两种队列,所以笔者感觉有必要提到两个。
注意:篇幅原因,下面从存储、数据库、中间件ZK、消息kafka、微服务dubbo、方向代理Nginx等方面介绍各个所需学习的知识点以及一些Java高级面试必备的题目、一些自己学习过程中的笔记以及收集的各大分布式笔记PDF,很多只是截图介绍展示一下,不过都可提供原文件,有需求的朋友麻烦各位转发一下,私信我关键词 “分布式” 即可获取免费下载原件!
01 分布式存储相关(Redis)1.1 Redis应该学习的那些知识String 的内部结构及实现原理List 的内部结构及实现原理Map 的内部结构及实现原理Set 的内部结构及实现原理SortedSet 的内部结构及实现原理Redis 有 timeout 机制,请问到了过期时间,数据是否真的被删除了?Redis 的持久化机制 Redis 是单进程单线程?性能为什么这么快?Redis 的集群Redis 的哨兵Redis 缓存与数据一致性的问题 缓存雪崩 缓存击穿Redis 的内存回收策略管道和 Lua 脚本一致性哈希算法手写一个 LRU 算法Redis 版的分布式锁1.2 根据以上知识整理Redis超高频面试70问(六大模块)Redis概念理解Redis数据结构与指令Redis高并发处理策略Redis集群结构以及设计理念Redis缓存管理与持久化机制Redis应用场景设计
1.3 学习过程中记录的一份Redis笔记
包括五个分类:基础篇、数据结构篇、持久化篇、集群篇、其他分类,这些是笔者自己对于Redis的学习而总结出的笔记
02 数据库存储相关(MySQL)2.1 知识点
MySQL 单表数据达到多少的时候会影响数据库的查询性能?为什么?MySQL 主从复制的原理是什么?常见的形式有哪些?MySQL 分库分表,解释一下垂直和水平 2 种不同的拆分MySQL 垂直拆分会带来哪些问题?分布式数据存储中间件 MyCat 的核心流程是什么?概述一下 MyCat?解释一下全局表,ER 表,分片表MyCat在分库分表之后,是怎么支持连表查询的?库表拆分时,拆分规则怎么取舍?全局 ID 方案有哪些?程序自定义全局 ID 方案有哪些?一致性 Hash 的原理?设计的好处是什么?4 层负载和 7 层负载谁性能更高,为什么?讲一讲 MySQL 的高可用方案?2.2 关于分库分表Java高级面试题
03 分布式中间件相关 ZookeeperZookeeper 是什么?描述一下 ZAB 协议四种类型的数据节点 ZnodeTCP 不是可靠连接吗?为什么分布式要考虑网络信息丢失的问题?介绍一下两阶段提交协议 2pc介绍一下三阶段提交协议 3pcZookeeper 宕机如何处理?描述一下 Zookeeper 中 session 管理的思想,画图描述一下Zookeeper Watcher 机制Zookeeper Server 的角色Zookeeper Server 的状态Zookeeper 负载均衡和 Nginx 负载均衡区别Zookeeper 的序列化ZXID 是什么?有什么作用?讲解一下 Zookeeper 的持久化机制投票信息的五元组Quorum 与脑裂选举的全过程数据同步全过程实现一个分布式锁追问 1:Watch 监听为什么是一次性的?追问 2:Zookeeper 为什么不用数据库做持久化?追问 3:Zookeeper 的 session 为什么由 server 维护,client 不行吗?3.1 ZK面试:27连问ZooKeeper 提供了什么?Zookeeper 文件系统?ZAB 协议?四种类型的数据节点 ZnodeZookeeper Watcher 机制 -- 数据变更通知客户端注册 Watcher 实现服务端处理 Watcher 实现客户端回调 WatcherACL 权限控制机制Chroot 特性服务器角色会话管理Zookeeper 下 Server 工作状态数据同步zookeeper 是如何保证事务的顺序一致性的?分布式集群中为什么会有 Master?zk 节点宕机如何处理?zookeeper 负载均衡和 nginx 负载均衡区别Zookeeper 有哪几种几种部署模式?集群最少要几台机器,集群规则是怎样的?集群支持动态添加机器吗?Zookeeper 对节点的 watch监听通知是永久的吗?为什么不是永久的?Zookeeper 的 java 客户端都有哪些?chubby 是什么,和 zookeeper 比你怎么看?说几个 zookeeper 常用的命令。ZAB 和 Paxos 算法的联系与区别?Zookeeper 的典型应用场景?
04 消息队列4.1 消息队列知识点Kafka ISR 的设计思想Kafka 的速度为什么那么快?Kafka 如何保证消息的顺序消费?活锁的问题怎么解决?Kafka 高效文件存储设计特点谈一谈 Kafka 的再均衡Kafka 的副本复制过程详解Kafka 的存储机制详解Kafka 什么情况下会丢失消息?Kafka 的分区数与多线程RabbitMQ 消息队列的作用与使用场景RabbitMQ 怎么自动删除没人消费的消息?RabbitMQ 无法被路由的消息,去了哪里?RabbitMQ 消息在什么时候会变成Dead Letter?RabbitMQ 如何保证消息的可靠性投递?RabbitMQ 消息幂等性RabbitMQ 如何保证消息的顺序性?4.2 kafka面试(基础+进阶+高阶共44问)1.Kafka的用途有哪些?使用场景如何?2.Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么3.Kafka中的HW、LEO、LSO、LW等分别代表什么?4.Kafka中是怎么体现消息顺序性的?5.Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?6.Kafka生产者客户端的整体结构是什么样子的?7.Kafka生产者客户端中使用了几个线程来处理?分别是什么?8.Kafka的旧版Scala的消费者客户端的设计有什么缺陷?9.“消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?如果正确,那么有没有什么hack的手段?10.有哪些情形会造成重复消费?11.那些情景下会造成消息漏消费?12.KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?13.简述消费者与消费者之间的关系14.当你使用kafka-topics.sh创建(删除)了一个topic之后,Kafka背后会执行什么逻辑?15.topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?16.topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?17.创建topic时如何选择合适的分区数?1.Kafka目前有哪些内部topic,它们都有什么特征?各自的作用又是什么?2.优先副本是什么?它有什么特殊的作用?3.Kafka有哪几处地方有分区分配的概念?简述大致的过程及原理4.简述Kafka的日志目录结构5.Kafka中有哪些索引文件?6.如果我指定了一个offset,Kafka怎么查找到对应的消息?7.如果我指定了一个timestamp,Kafka怎么查找到对应的消息?8.聊一聊你对Kafka的Log Retention的理解9.聊一聊你对Kafka的Log Compaction的理解10.聊一聊你对Kafka底层存储的理解11.聊一聊Kafka的延时操作的原理12聊一聊Kafka控制器的作用13.Kafka的旧版Scala的消费者客户端的设计有什么缺陷?14.消费再均衡的原理是什么?(提示:消费者协调器和消费组协调器)15.Kafka中的幂等是怎么实现的?1.Kafka中的事务是怎么实现的?2.失效副本是指什么?有哪些应对措施?3.多副本下,各个副本中的HW和LEO的演变过程4.Kafka在可靠性方面做了哪些改进?(HW, LeaderEpoch)5.为什么Kafka不支持读写分离?6.Kafka中的延迟队列怎么实现7.Kafka中怎么实现死信队列和重试队列?8.Kafka中怎么做消息审计?9.Kafka中怎么做消息轨迹?10.怎么计算Lag?(注意read_uncommitted和read_committed状态下的不同)11.Kafka有哪些指标需要着重关注?12.Kafka的那些设计让它有如此高的性能?
PDF学习笔记《Kafka源码解析与实战》
4.3 RabbitMQ面试(22问)
05 分布式相关CAP 理论Paxos 协议Raft 协议设计一个全局唯一的 ID06 分布式全文检索谈谈分词与倒排索引的原理分段存储的思想段合并的策略思想文本相似度 TF-IDFElasticSearch 写索引的逻辑ElasticSearch 集群中搜索数据的过程ElasticSearch 深翻页的问题及解决ElasticSearch 性能优化07 分布式事务分布式事务的几种实现方式TCC 柔性分布式事务TCC-Transaction 框架的原理
《分布式事务综合案例分析》
《分布式系统常用技术及案例分析PDF》
08 反向代理Nginx 的动静分离Nginx 的防盗链Nginx 的跨域访问Nginx 的进程模型Nginx 与网关Nginx 的高可用方案8.1 Nginx的学习笔记
《深入理解Nginx模块开发与架构解析第2版.PDF》
09 微服务相关Dubbo 的调用流程Dubbo 的负载均衡策略Dubbo 的并发和连接控制Dubbo 的服务暴露过程Dubbo 的SPI思想Dubbo 的六种集群容错模式Dubbo 源码 Debug 时个人遇到的几个难点9.1 Java高级面试之分布式系统Dubbo
撒花环节
内容太多,篇幅受限,所以不能仅靠一篇文章将上面分布式的各大知识讲清楚,只能粗略的介绍哪些知识是必备的,以及分享一些Java高级面试问题和学习的PDF(上面都有截图展示)。其实也没关系,想要深入学习朋友可以来找小编获取这些学习的文档(文中介绍的所有学习笔记)
转发+私信 我 “分布式” 即可回复你免费下载的方式啦!
标签: #nginx五元组