12 2024 档案

摘要:什么是内存映射(Memory-Mapped File)? 内存映射(mmap)是一种将文件内容映射到内存中的技术,应用程序可以像操作内存一样对文件内容进行读写,而不需要显式地进行磁盘 I/O 操作。修改的内容会自动由操作系统同步到磁盘。 内存映射需要读取磁盘文件吗? 需要。毕竟,内存中的数据来源于磁 阅读全文
posted @ 2024-12-29 16:09 猫毛·波拿巴 阅读(1234) 评论(0) 推荐(3) 编辑
摘要:前言 在 Kafka 中,消息偏移量是什么?是文件中的索引吗?又是如何通过偏移量快速定位消息的?本文将深入探讨这些问题,帮助你更好地理解 Kafka 的偏移量机制。 Kafka 的偏移量是什么? Kafka 中的 偏移量 实际上是每条消息的 序号。它为每条消息提供了一个唯一的标识。通过偏移量,消费者 阅读全文
posted @ 2024-12-26 12:50 猫毛·波拿巴 阅读(419) 评论(0) 推荐(3) 编辑
摘要:前言 在分布式消息队列系统中,Kafka 的无锁设计是其高吞吐量和高并发的核心优势之一。通过避免锁的竞争,Kafka 能够在高并发和大规模的生产环境中保持高效的性能。为了更好地理解 Kafka 的无锁设计,我们首先对比传统的队列模型,然后探讨 Kafka 如何通过无锁机制优化生产者和消费者之间的工作 阅读全文
posted @ 2024-12-25 14:14 猫毛·波拿巴 阅读(1712) 评论(0) 推荐(6) 编辑
摘要:前言 并非所有业务场景都要求消息绝对不丢失。对很多应用来说,为了追求更高的吞吐量,少量的消息丢失是可以容忍的。 然而,在一些关键的业务场景中,确保消息不丢失至关重要。本文将重点讨论需要保证消息可靠性的场景,并提供相关的优化建议。 消息丢失的场景 消息丢失的场景可以归纳为三种主要情况: 场景 1:【生 阅读全文
posted @ 2024-12-24 15:24 猫毛·波拿巴 阅读(123) 评论(0) 推荐(0) 编辑
摘要:1.分表思想 对于查询操作来说,表中数据越少,查询速度通常越快。因此,优化的方向就是将不相关的数据分离到其他表中。 案例 1:活跃数据与历史数据分表 如果系统的大部分业务操作集中在“活跃”数据上,可以考虑将数据划分为活跃数据表和历史数据表: 活跃数据表:包含当前常用的数据,数据量较少,但读写操作频繁 阅读全文
posted @ 2024-12-21 17:09 猫毛·波拿巴 阅读(1465) 评论(4) 推荐(6) 编辑
摘要:为什么需要主备结构? 为了确保服务的高可用性,系统不能因为某一个节点的故障而完全不可用。因此,我们需要通过主备结构来确保在主节点发生故障时,备份节点能够迅速接管,继续提供服务。 为什么不直接通过多个节点共同提供服务? 因为与应用服务不同,这种节点提供的是数据维护和存储服务,为了确保数据的连续性和一致 阅读全文
posted @ 2024-12-20 16:27 猫毛·波拿巴 阅读(208) 评论(3) 推荐(2) 编辑
摘要:一个服务端进程能同时连接多少个 Socket? 要理解一个服务端进程能同时支持多少个连接,首先我们需要明确一个 socket 连接 的表示方式。一个连接由四个部分组成:[LocalIP:LocalPort:RemoteIP:RemotePort]。对于服务端进程来说,LocalIP 和 LocalP 阅读全文
posted @ 2024-12-18 17:09 猫毛·波拿巴 阅读(746) 评论(0) 推荐(3) 编辑
摘要:服务端如何验证客户端已经登录? 在用户成功登录后,服务端会发放一个凭证。之后,客户端的每次请求都需要携带该凭证,服务端通过验证凭证的有效性来判断用户是否已登录,并处理请求。 以下是 Session 和 JWT 在这方面的不同之处: 1. 凭证的内容是什么? Session:凭证是一个简单的 ID 字 阅读全文
posted @ 2024-12-16 12:55 猫毛·波拿巴 阅读(2216) 评论(18) 推荐(15) 编辑
摘要:为什么要打印日志? 1. 监控系统运行情况 定期查看系统日志是了解服务是否正常运行的重要手段。日志为运维人员提供了实时监控系统状态、发现潜在问题的关键信息。 2. 排查问题(例如异常栈) 日志记录了详细的错误信息,特别是异常栈,有助于快速定位问题的根源。对于一些偶发的 Bug,日志是排查的唯一途径, 阅读全文
posted @ 2024-12-14 16:52 猫毛·波拿巴 阅读(1613) 评论(5) 推荐(4) 编辑

点击右上角即可分享
微信分享提示