-
Flink CDC 2.0 实现原理剖析
Flink CDC Connectors 是 Apache Flink 的一组源端(Source)连接器,通过捕获变更数据(Change Data Capture)从不同数据库中采集数据。项目早期通过集成 Debezium 引擎来采集数据,支持 全量 + 增量 的模式,保证所有数据的一致性。
-
Awesome Flink Learning Resources
Apache Flink 学习资料,包括但不限于文章、书籍、教程、视频。
-
使用 tcpdump 和 wireshark 分析 MySQL 协议握手过程
使用 tcpdump 对 MySQL 进行抓包是一种定位线上问题的重要手段,如结合 pt-query-digest 识别慢查询;使用 wireshark 对报文内容进行分析,这对很多 MySQL Compatible 的产品非常重要。本文使用 tcpdump 和 wireshark 对 MySQL 的握手过程进行抓包分析。
-
MacOS 使用 qemu 创建虚拟机
在 VirtualBox 和 VMware Fusion 不可用(比如 Cloud Shell 限制)的情况下,QEMU 可作为一个替代方式。
-
Z-order 技术简介
Z-order 又叫作 Morton-order 或 Morton code(莫顿码),是一种空间填充曲线,将多维数据映射到一维,同时保留数据点的局部性,由 G. M. Morton 于 1966 年发明。
-
FusionStorage 8.0 Technical White Paper
FusionStorage software architecture 👇🏼
-
MySQL 源码解读 —— Binlog 行日志事件解析
在 Binlog 事件格式解析 一文中,笔者对 Format_description_event 的格式进行了解析,并在文末给出了 sysbench write-only test 的火焰图。本文将对火焰图中 MySQL 的行日志事件进行解析。
-
MySQL 源码解读 —— Binlog 事件格式解析
Binary Log(i.e. Binlog) 是一组包含了 MySQL 数据库实例数据修改信息的日志文件,主要用于 主从复制(Replication) 和 特定的数据恢复操作,是否开启由
log-bin选项(Read Only)控制。本文对 Binlog 事件的格式进行解析,为深入理解 Binlog 的工作机理奠定基础。 -
Thread Pool
本文使用 C++ 实现了一个简单的线程池。
-
libevent 源码分析
Libevent 是一个C语言编写的、轻量级的开源高性能事件驱动库,支持 epoll、kqueue、/dev/poll、select、poll 等多种 I/O 多路复用。在学习 UNIX Network Programming 的时候笔者曾将书中的 tcpservpoll01.c 改写为 epoll 方式的 echo server。本文首先对 libevent 做一个简要的源码分析,然后给出两个使用 libevent 实现的 echo server。
-
Gprof 实践
Profiling 是一种可以有效度量软件程序性能的方法,常用的技术包括 event-based, statistical, instrumented, and simulation methods 等。Linux 上常用的 Profiling 工具有 Gprof, perf, Valgrind, OProfile, Google 的 gperftools 等,这其中我用过 Gprof 和 Valgrind,但我后面会更关注 perf,本文简单介绍 Gprof 的使用方法。
-
Rust Learning Resources
Rust 学习资料,包括但不限于文章、书籍、代码库、教程、视频。