会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
猫毛·波拿巴
虚心实腹,弱志强骨,为而不争
博客园
首页
新随笔
联系
订阅
管理
2025年4月13日
【杂谈】死锁?NO,时间跳跃!
摘要: 在日常开发或线上运维中,我们经常会遇到各种数据库异常,例如超时、死锁等。但有些问题,表面看似平常,背后却藏着意想不到的原因。 今天就分享一次由服务器时间跳跃引发的 MySQL 获取锁超时问题的排查过程。 问题现象:大量锁超时日志出现 某天系统日志中突然频繁出现如下报错信息: Caused by: c
阅读全文
posted @ 2025-04-13 19:32 猫毛·波拿巴
阅读(410)
评论(0)
推荐(2)
2025年3月14日
【杂谈】分布式事务——高大上的无用知识?
摘要: 如何保证多个数据库操作的原子性? 很简单,用事务。具体到代码,在方法上加一个@Transactional,这样方法内部的entity操作都能在一个数据事务内。 abc三个entity,要么全部修改,要么一个不改。 @Transactional public void someOperation()
阅读全文
posted @ 2025-03-14 20:33 猫毛·波拿巴
阅读(405)
评论(0)
推荐(1)
2025年2月19日
【杂谈】主键ID如何选择——自增数 OR UUID?
摘要: 1.生成位置如何影响选择? 数据库往返时间 使用自增数时,ID是由数据库在执行INSERT操作时生成的;而UUID则可以在应用层生成。 考虑这样的场景: 一个方法需要插入A和B两个实体。其中B的数据需要引用A的ID。 如果使用自增ID,则必须与数据库进行两次网络请求: 1.先插入A,获取A的ID;
阅读全文
posted @ 2025-02-19 20:54 猫毛·波拿巴
阅读(597)
评论(2)
推荐(1)
2025年1月31日
【编码】自定义通信协议——实现零拷贝文件传输
摘要: 前言 上一篇随笔,介绍了如何扩展自定义协议的请求类型。本篇随笔我将介绍如何基于这个自定义协议来实现文件传输,其中将涉及数据分片和零拷贝 在设计自定义协议之前,我们首先了解一下HTTP协议是如何处理文件传输的。 HTTP协议的实现方式 在这里,我们主要讨论应用最广泛的HTTP/1.1协议 关于数据分片
阅读全文
posted @ 2025-01-31 23:17 猫毛·波拿巴
阅读(2009)
评论(0)
推荐(6)
2025年1月28日
【编码】自定义通信协议——支持更多请求类型
摘要: 前言 上一篇随笔"如何实现一套自定义网络协议",介绍了自定义协议的粘拆包的处理,消息体的编解码等。 其中包含一个案例,演示怎么实现一个RPC实现。 不过案例中的Request格式是固定的,实际应用中,RPC协议需要支持不同的API。 所以需要有一个字段来表示API类型,而字段的存放位置有两种选择 1
阅读全文
posted @ 2025-01-28 17:27 猫毛·波拿巴
阅读(183)
评论(0)
推荐(0)
2025年1月15日
【杂谈】关于SSL/TLS通信加密
摘要: 什么是 SSL/TLS 协议?它位于哪一层? SSL(Secure Sockets Layer)和 TLS(Transport Layer Security)是用于保护网络通信安全的加密协议。 它们通过加密、身份验证和完整性检查,确保数据在传输过程中不被窃取或篡改。 SSL/TLS 协议位于传输层和
阅读全文
posted @ 2025-01-15 10:46 猫毛·波拿巴
阅读(431)
评论(0)
推荐(1)
2025年1月11日
【源码】Kafka订制协议如何处理粘拆包
摘要: 前言 在上一篇随笔中,我们探讨了如何使用 Netty 处理自定义协议中的粘包和拆包问题。Netty 提供了高度封装的 API,帮助开发者轻松应对这一挑战,因此很多人都对其解决方案非常熟悉。 但如果我们直接使用 Java NIO 来实现类似的功能,应该怎么做呢? Kafka,作为一个成熟的分布式消息队
阅读全文
posted @ 2025-01-11 13:54 猫毛·波拿巴
阅读(231)
评论(0)
推荐(0)
2025年1月8日
【源码】ByteToMessageDecoder对比自定义实现
摘要: 前言 在上一篇随笔中,我们探讨了如何实现一套自定义通信协议,其中涉及到的粘包和拆包处理最初是完全自定义实现的,后来则改为了继承 ByteToMessageDecoder 来简化处理。 本篇将重点讨论这两种实现方式在缓存管理上的主要区别,并深入分析其中的不同之处以及值得借鉴的经验和技巧。 代码回顾 1
阅读全文
posted @ 2025-01-08 20:11 猫毛·波拿巴
阅读(321)
评论(0)
推荐(1)
2025年1月7日
【编码】如何实现一套自定义网络协议?
摘要: 前言 下文介绍的自定义协议仅作为学习示例,纯粹是玩具项目,没有实际可用性。无需过度关注和讨论其合理性 进行通信的双方是谁? 常见的模型 客户端-服务器,例如HTTP协议,浏览器<=>Web服务器。 中转站模型,如MQTT协议,应用服务<=>中转站<=>硬件客户端 对等模型,例如Thrift协议,应用
阅读全文
posted @ 2025-01-07 17:21 猫毛·波拿巴
阅读(785)
评论(1)
推荐(1)
2024年12月29日
【杂谈】Kafka的日志段为什么不用内存映射?
摘要: 什么是内存映射(Memory-Mapped File)? 内存映射(mmap)是一种将文件内容映射到内存中的技术,应用程序可以像操作内存一样对文件内容进行读写,而不需要显式地进行磁盘 I/O 操作。修改的内容会自动由操作系统同步到磁盘。 内存映射需要读取磁盘文件吗? 需要。毕竟,内存中的数据来源于磁
阅读全文
posted @ 2024-12-29 16:09 猫毛·波拿巴
阅读(1394)
评论(0)
推荐(3)
下一页
公告