1. 自我介绍

  2. 项目介绍 qps 数据量 缓存一致性?

  • qps

    • 使用缓存: 将热点数据缓存在内存中,提高读取效率。

      负载均衡: 使用负载均衡器(如 Nginx)分配请求,避免某一节点过载。

      异步处理: 对非关键性任务进行异步处理,降低主线程压力。

      限流与降级: 设置请求限流策略,防止流量暴增导致系统崩溃。

  • 缓存一致性

    • 缓存更新策略:

      • 主动更新(Write-Through): 数据更新时,同时更新缓存和数据库。
      • 延迟更新(Write-Behind): 数据更新时先写缓存,延迟写数据库。
      • 失效淘汰(Cache Eviction): 定期让缓存数据失效,强制从数据库中读取最新数据。

      分布式锁:

      • 对关键资源加分布式锁(如 Redis 的分布式锁),确保同一时刻只有一个进程能更新缓存。

      双写一致性:

      • 更新时同时写入缓存和数据库,但需要确保两者操作具有事务性。
  1. dubbo 负载均衡有哪几种?如果你来实现这几种怎么做?具体算法
  • Dubbo 的负载均衡策略
    • Random (随机)默认策略,根据权重随机选择一个提供者。
    • RoundRobin (轮询),按照权重设置轮询调用,确保每个服务实例被均匀调用。
    • LeastActive (最少活跃调用数)
    • ConsistentHash (一致性哈希), 同一个请求(如同一个参数值)会始终发往同一个服务实例。
  1. rocketmq和kafka的选型 区别?

    • 选型建议:

      如果系统需要高吞吐量、持久化存储和大数据生态支持,选择 Kafka。

      如果系统需要复杂路由、低延迟和可靠消息传递,选择 RabbitMQ。

选择 Kafka 的场景

大数据处理: 日志聚合、事件流分析、实时数据管道(如 Spark Streaming)。

高吞吐场景: 每秒需要处理百万级消息。

消息持久化与回放: 需要重放历史消息(如事务重试)。

分布式系统: 构建扩展性高的流处理架构。

选择 RabbitMQ 的场景

微服务通信: 系统间可靠的消息传递与解耦。

任务队列: 异步任务处理,尤其是复杂路由规则的任务分发。

低延迟应用: 需要快速响应的实时系统(如订单处理)。

事务一致性: 对消息可靠性和事务性有严格要求。

  1. kafka吞吐量为什么大?

顺序写入磁盘:降低了 I/O 的开销

零拷贝机制:直接将数据从磁盘传输到网络缓冲区,而无需将数据复制到用户空间

批量处理:减少了每条消息的网络请求和 I/O 次数

分区并行处理:水平扩展机制使得吞吐量随分区数量增加而线性提升

  1. Linux零拷贝讲一下?
  • 传统数据传输流程
  1. 从磁盘读取文件到内核缓冲区:
    • 调用 read(),将数据从磁盘加载到内核缓冲区。
  2. 将数据从内核缓冲区拷贝到用户空间:
    • 操作系统将内核中的数据复制到用户程序的缓冲区。
  3. 将数据从用户缓冲区写入到内核网络缓冲区:
    • 调用 write(),将用户程序缓冲区的数据拷贝到内核中的 Socket 缓冲区。
  4. 从 Socket 缓冲区发送到网卡:
    • 最后,内核将 Socket 缓冲区中的数据传递给网卡,发送到目标设备。
  • 零拷贝的数据传输流程
  1. 从磁盘读取数据到内核缓冲区:

    • 内核直接将数据加载到缓冲区中。
  2. 直接将数据从内核缓冲区发送到网卡:

    • 使用零拷贝技术,数据不需要拷贝到用户空间,而是通过操作系统的机制直接从内核缓冲区传输到网卡。
  3. partition和consumer对应关系

Kafka 中的 partition 和 consumer 的关系主要通过分区分配策略决定。

一个分区只能被一个消费者线程消费,而一个消费者可以消费多个分区。

选择分区数量和消费者数量时,需要根据业务需求和吞吐量合理设计,以实现负载均衡和高效消费。

  1. kafka怎么保证消息不丢失?

  2. 如果副本间同步 突然挂了怎么办?这时候的消息丢失怎么办

  3. 你们分库分表怎么做的?动态扩容怎么做?具体双写逻辑讲一下? 增删改查都说一下?

  4. 线程池核心参数 线程池怎么关闭超过keepalived 的线程?threadlocal 的原理 threadlocalmap的key是什么?

  5. MySQL索引,聚集索引和非聚集索引?具体讲讲叶子节点存储的具体区别?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

更多推荐