想跳槽?你先看看(MQ、ZK、Nginx、Kafk)等分布式技术你都会吗?

准备跳槽的小伙伴你们都准备好了吗,重点知识都掌握了吗?面试题背得怎么样了?别急,我给你们想法子来了,面试可不是小事,咱们还是要做好准备,有把握了之后再去面试,这样也不浪费时间,利用空余得时间去背题刷题,面试得时候就更自信一些,今天给大家整理了关于MQ(RabbitMQ+ActiveMQ)、ZK、MongoDB、Nginx、Kafk等分布式技术,这些小伙伴们都掌握得怎么样了呢?别担心,跟着一起学!

注意注意:需要MQ、ZK、Nginx、Kafk等分布式学习笔记的(都已整理如下)【学习笔记】滴我即可

MQ、ZK、Nginx、Kafk等分布式学习笔记

01 第一个闪亮登场的是Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等

1.1 关于Nginx面试官最爱问哪些问题?

  1. 请解释 Nginx 如何处理 HTTP 请求?
  2. 请解释是否有可能将Nginx 的错误替换为 2 502 错误?
  3. 在 Nginx 中,如何使用未定义的服务器名称来阻止处理请求?
  4. 请解释 Nginx 服务器上的 r Master 和 和 r Worker 进程分别是什么?
  5. 请解释你如何通过不同于 0 80 的端口开启 Nginx?
  6. 请解释什么是 K C10K 问题?用 Nginx 服务器解释s -s 的目的是什么?
  7. 在 Nginx 中,解释如何在 L URL 中保留双斜线?
  8. 使用 “ 反向代理服务器 ”
  9. 解释Nginx 是否支持将请求压缩到上游?
  10. 解释如何在 Nginx 中获得当前的时间?如何在 Nginx 服务器上添加模块?
  11. ...

Nginx:详细解答如下

Nginx:详细解答如下

1.2 Nginx学习必须推荐的书籍

(1)深入理解Nginx模块开发与架构解析

深入理解Nginx模块开发与架构解析

02 第二个是Kafka

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

2.1 Kafka面试问题?

  1. Kafka 的设计时什么样的呢?
  2. 数据传输的事物定义有哪三种?
  3. Kafka 判断一个节点是否还活着有那两个条件?
  4. producer 是否直接将数据发送到 broker 的 leader(主节点)?
  5. Kafa consumer 是否可以消费指定分区消息?
  6. Kafka 消息是采用 Pull 模式,还是 Push 模式?Kafka 存储在硬盘上的消息格式是什么?
  7. 消费者负载均衡策略,kafaka 生产数据时数据的分组策略?
  8. Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中?
  9. partition 的数据如何保存到硬盘?
  10. Kafka 的消费者如何消费数据?
  11. ...

Kafka:详细解答如下

Kafka:详细解答如下

2.2 学习Kafka必备

(1)Kafka学习大纲图

Kafka学习大纲图

03 第三个是ZK

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

3.1 ZK面试必备

  1. ZooKeeper 提供了什么?
  2. zk 的配置管理(文件系统、通知机制)
  3. Zookeeper 集群管理(文件系统、通知机制)?Zookeeper 分布式锁(文件系统、通知机制)?
  4. 获取分布式锁的流程?分布式通知和协调?
  5. Zookeeper 队列管理(文件系统、通知机制)
  6. Zookeeper 数据复制?Zookeeper 工作原理?
  7. zookeeper 是如何保证事务的顺序一致性的?
  8. zookeeper 是如何选取主 leader 的?
  9. zk 节点宕机如何处理?
  10. zookeeper 负载均衡和 nginx 负载均衡区别?
  11. ...

ZK:详细解答如下

ZK:详细解答如下

3.2 ZK学习推荐书籍

(1)ZooKeeper-分布式过程协同技术详解

ZooKeeper-分布式过程协同技术详解

04 第四个是MongoDB

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

4.1 面试官最常问的MongoDB问题有哪些?

  1. 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据库的几个优点?
  2. MongoDB 支持存储过程吗?如果支持的话,怎么用?
  3. 如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?
  4. journal 回放在条目(entry)不完整时(比如恰巧有一个中途故障了)会遇到问题吗?
  5. 如果用户移除对象的属性,该属性是否从存储层中删除?
  6. 我应该启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?
  7. 如果我在使用复制技术(replication),可以一部分使用日志(journaling)而其他部分则不使用吗?
  8. 如果在一个分片(shard)停止或者很慢的时候,我发起一个查询会怎样?
  9. 如果块移动操作(moveChunk)失败了,我需要手动清除部分转移的文档吗?
  10. 如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
  11. ...

MongoDB:详细解答如下

MongoDB:详细解答如下

4.2 MongoDB学习必须推荐的书籍

(1)MongoDB权威指南

MongoDB权威指南

05 最后压轴出场的是MQ(RabbitMQ+ActiveMQ)

5.1 ActiveMQ

ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

(1)ActiveMQ面试常备

  1. 什么是 ActiveMQ?
  2. ActiveMQ 中的消息重发时间间隔和重发次数吗?
  3. ActiveMQ 服务器宕机怎么办?
  4. 丢消息怎么办?
  5. 持久化消息非常慢?
  6. 消息的不均匀消费?
  7. ...

ActiveMQ:详细解答如下

ActiveMQ:详细解答如下

5.2 RabbitMQ

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

(1)RabbitMQ面试常备

  1. RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
  2. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
  3. RabbitMQ 中的 cluster、mirrored queue,以及 warrens 机制分别用于解决什么问题?存在哪些问题?
  4. RAM node 和 disk node 的区别?
  5. cluster 中 node 的失效会对 consumer 产生什么影响?若是在 cluster 中创建了mirrored queue ,这时 node 失效会对 consumer 产生什么影响?
  6. 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行consume 动作会发生什么?
  7. 为什么说保证 message 被可靠持久化的条件是 queue 和 exchange 具有durable 属性,同时 message 具有 persistent 属性才行?
  8. RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
  9. 在单 node 系统和多 node 构成的 cluster 系统中声明 queue、exchange ,以及进行 binding 会有什么不同?
  10. RabbitMQ 允许发送的 message 最大可达多大?
  11. ...

RabbitMQ:详细解答如下

RabbitMQ:详细解答如下

[中文]分布式系统原理与范型

[中文]分布式系统原理与范型

总结

本文所整理得这些MQ(RabbitMQ+ActiveMQ)、ZK、MongoDB、Nginx、Kafk等分布式技术笔记因为篇幅有限就不一一展示了.

互联网大厂高频面试题

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 是的,我知道一些常用的分布式限流工具。以下是一些比较流行的限流工具: 1. Redis: 使用 Redis 可以简单地实现限流,特别是滑动窗口限流。 2. Guava RateLimiter: Guava 是 Google 的 Java 工具包,其中 RateLimiter 可以提供高效的令牌桶限流。 3. Bucket4J: Bucket4J 是一个 Java 库,可以提供功能强大的令牌桶和漏桶限流。 4. Netflix Zuul: Netflix Zuul 是一个微服务网关,内置了对限流的支持,可以很方便地在应用程序的边界处实现限流。 这些工具都有不同的优势和特性,请根据您的具体需求和环境选择适合您的工具。 ### 回答2: 有一些好用的分布式限流工具可以帮助我们实现系统的流量控制和限流,以下是其中几个常用的: 1. Alibaba Sentinel(阿里巴巴开源):一个功能强大的分布式系统流量防卫士,支持实时的流量控制、熔断降级、系统保护等功能,提供了丰富的配置和管理方式。 2. Spring Cloud Gateway:Spring Cloud生态系统中的一个网关工具,可以通过使用过滤器和限流机制来实现分布式限流,支持基于QPS、令牌桶等算法进行限流控制。 3. Nacos(阿里巴巴开源):一个用于动态服务发现、配置管理和服务治理的平台,其中包含了限流的功能,可以通过配置限流规则来实现请求的限制。 4. Redis+Lua脚本:通过在Redis中使用Lua脚本来实现限流功能。可以利用Redis的高性能和原子操作特性,结合令牌桶、漏桶等算法来实现流量控制。 5. ZooKeeper:一个分布式协调服务,可以用于实现分布式限流。可以利用ZooKeeper的有序节点特性和Watch机制来控制请求的并发量。 这些工具各有特点,具体选择取决于应用场景和需求。在实际使用时,需要根据系统的规模、性能需求和业务特点等因素,综合考虑选择合适的分布式限流工具。 ### 回答3: 当今的分布式系统越来越复杂和庞大,限流是保证系统稳定性和高可用性的重要策略之一。以下是我所知的几个好用的分布式限流工具: 1. Redis:Redis是一个高性能的内存数据存储系统,通过其提供的分布式缓存和限流功能可以实现简单而高效的限流逻辑。需要利用Redis的计数器或令牌桶等数据结构,将请求和访问进行计数,在达到限流阈值时进行拒绝或延迟处理。 2. Sentinel:Sentinel是阿里巴巴开源的一款分布式流量控制组件,它提供了流量控制、熔断降级、系统负载等功能。通过在每个服务节点上配置规则,可以统一限制请求的数量,避免系统被过多的请求压垮。 3. NginxNginx是一款高性能的开源Web服务器,也可以用作分布式限流工具。通过配置Nginx反向代理服务器的限流策略,可以限制请求的并发数、连接数等,而且能够根据不同的URL或IP设置不同的限流策略。 4. Alibaba Yet Another Distributed Rate Limiter (Sentinel):Sentinel是一个用于流量控制的分布式限流组件,由Alibaba开源。它具有动态规则的特性,可以基于各种参数和维度(如QPS、线程数、CPU负载等)对请求进行限流,以保护系统免受过载。 以上是一些我所知道的分布式限流工具,每个工具都有其独特的特点和适用场景。根据具体的需求和系统架构,选择适合的工具进行分布式限流是非常重要的。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值