文章 2024-11-30 来自:开发者社区

千万级电商线上无阻塞双buffer缓冲优化ID生成机制深度解析

概述 在千万级电商系统中,ID生成机制是核心基础设施之一。一个高效、可靠的ID生成系统对于保障系统的稳定性和性能至关重要。本文将深入探讨一种在千万级电商线上广泛应用的ID生成机制——无阻塞双buffer缓冲优化方案。本文从概述、功能点、背景、业务点、底层原理等多个维度进行解析,并通过Java语言实现多个示例,指出各自实践的优缺点。希望给需要的同学提供一些参考。 功能点 全...

文章 2024-10-23 来自:开发者社区

拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析

作为前端开发者,你可能会遇到过一些奇奇怪怪的报错(相信我你早晚会遇到),关键是它未给出具体错误的位置,或者是一些很奇怪的信息。 我以前都是还原代码,然后找到错误的位置。或者是瞎弄一通,测试各种办法搞定,但不知道它到底是哪儿,最近觉得这样不好,于是专门开始记录啦 这篇就作为系列序章,希望大家读完有所收获 首先贴一个奇怪的报错吧,它是一个前端vue3+...

文章 2024-06-27 来自:开发者社区

MySQL Doublewrite Buffer(双写缓冲区)深入解析:原理及作用

1️⃣什么是Double write Buffer Doublewrite Buffer是MySQL数据库中InnoDB存储引擎的一种机制,用于解决部分写失效的问题,提高数据完整性和可靠性。Doublewrite Buffer是内存+磁盘的结构,包括内存结构和磁盘结构两个部分。 在内存结构中,Doublewrite Buffer由128个页(Page)构成,...

MySQL Doublewrite Buffer(双写缓冲区)深入解析:原理及作用
文章 2024-06-27 来自:开发者社区

MySQL Change Buffer 深入解析:概念、原理及使用

一、Change Buffer的原理 Change Buffer是InnoDB为了提高非主键索引操作性能而引入的一种机制。它主要应用于非主键索引的更改操作,将即将应用到磁盘上的非主键索引页的更改暂存到内存中的缓冲区。 简单来说,Change Buffer是一个内存区域,用于存储即将应用到磁盘上的非主键索引页的更改。当一个非主键索引的记录被更新或删除时,这些更改不会立即被写回到磁盘...

MySQL Change Buffer 深入解析:概念、原理及使用
文章 2024-04-30 来自:开发者社区

Node.js中的Buffer与Stream:深入解析与使用

在Node.js的开发中,Buffer和Stream是两个非常重要的概念,它们在网络编程、文件I/O、数据处理等方面扮演着关键角色。本文将深入解析Buffer和Stream的概念,探讨它们的使用场景,并给出一些实用的示例代码。 一、Buffer对象 1.1 Buffer的概念 Buffer是Node.js中的一个全局可用对象,...

文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(五)

本文接着介绍非易失性WAL buffer对StartupXLOG流程的改造。1)StartupXLO流程中,当WAL日志回放完退出回放循环后,对其进行改造2)ControlFile->discardedUpTo为新增加的变量,表示这个节点之前的WAL段文件可以回收了,这个位点以WAL段文件大小为单位。3)如果EndOfLog<=discardedUpTo,即最后的回放的位置在需要回收....

非易失性WAL buffer实现解析(五)
文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(三)

本文接上文介绍函数WaitForWALToBecomeAvailable打开WAL日志文件并切换日志源的实现。该函数不涉及关于NVM WAL BUFFER的修改。1)主机重启恢复时:日志源currentSource = XLOG_FROM_PG_WAL,之后由于第一次进来,调用函数XLogFileReadAnyTLI打开日志所在WAL文件。如果open成功则返回TRUE,否则lastSource....

非易失性WAL buffer实现解析(三)
文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(二)

本文接着介绍WAL写和读的改造。1、XLogInsert函数改造:将日志写入NVM,此时不确定CPU CACHE何时刷以及顺序当日志量距离上次checkpoint产生的WAL文件个数(wal_segment_size)超过CheckPointSegments时,需要发起checkpoint请求。需要保证WAL buffer空间够用。2、XLogPageRead读取指定WAL所在页到readBuf....

非易失性WAL buffer实现解析(二)
文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(一)

前文简要介绍了非易失性WAL buffer的PostgreSQL email,本文开始主要介绍其实现机制。        non-volatile WAL buffer同样是结合interl开发的pmdk库进行适配NVM。在启动时在函数XLOGShememInit中通过调用MapNonVolatileXLogBuffer在NVM介质上创建WAL BUFFE....

非易失性WAL buffer实现解析(一)
文章 2022-05-10 来自:开发者社区

NIO中Buffer的重要属性关系解析

Buffer 是java NIO中三个核心概念之一 缓存, 在java的实现体系中Buffer作为顶级抽象类存在简单说,Buffer在做什么?#我们知道,在java IO中体系中, 因为InputStream和OutputStream是抽象类,而java又不可以多重继承,于是任何一个流要么只读,要么只写.而无法完成同时读写的工作于是: Buffer来了NIO中,对数据的读写,都是在Buffer中....

NIO中Buffer的重要属性关系解析

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

相关镜像