Skip to content

中间件、高性能服务器、分布式存储等(redis、memcache、nginx、大容量redis pika、rocksdb、mongodb、wiredtiger存储引擎、高性能代理中间件)二次开发、性能优化,逐步整理文档说明并配合demo指导--每周末定时更新2-3篇技术文章及程序demo

Notifications You must be signed in to change notification settings

y123456yz/middleware_development_learning

Repository files navigation

middleware_development_learning

rocksdb理解好文章: 一文科普 RocksDB 工作原理 https://zhuanlan.zhihu.com/p/632841342 polardb村算分离好文章: 从架构层面分析PolarDB技术要点 https://www.modb.pro/db/1711317557817974784 中间件、高性能服务器、分布式存储等(redis、memcache、pika、rocksdb、mongodb、wiredtiger、高性能代理中间件)二次开发、性能优化,逐步整理文档说明并配合demo指导

近期抽业余时间来总结多年工作中学习到的各种中间件、分布式存储、高性能服务端等技术,通过文章博客和程序demo等方式呈现给大家,暂定分享思路如下:

对外演讲

# 对外演讲内容
1 Qcon全球软件开发大会分享:OPPO万亿级文档数据库MongoDB集群性能优化实践
2 2019年mongodb年终盛会:OPPO百万级高并发MongoDB集群性能数十倍提升优化实践
3 2020年mongodb年终盛会:万亿级文档数据库集群性能优化实践
4 2021年dbaplus分享:万亿级文档数据库集群性能优化实践
5 2021年度Gdevops全球敏捷运维峰会:PB级万亿数据库性能优化及最佳实践

专栏

# 专栏名内容
1 infoq专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
2 oschina专栏:《mongodb内核源码中文注释详细分析及性能优化实践系列》
3 知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
4 itpub专栏:《mongodb内核源码设计实现、性能优化、最佳运维实践》

分阶段分享

# 阶段 内容 说明
1 [第一阶段 分布式缓存源码学习、二次开发、性能及稳定性优化 主要涉及网络实现、memcache redis重要模块源码分析、memcache redis性能稳定性优化及二次开发等
2 [第二阶段 高性能代理中间件开发(nginx、wemproxy、dbproxy、mongos等源码进行二次开发) 主要涉及代理中间件源码分析、性能优化、二次开发等
3 [第三阶段 分布式大容量nosql存储系统二次开发(突破缓存内存容量限制) 主要涉及pika、tendis源码、rocksdb存储引擎源码分析及pika性能优化等
4 [第四阶段 mongodb数据库内核开发 主要涉及mongodb源码、mongos源码、rocksdb存储引擎源码、wiredtiger存储引擎源码分析及二次开发

第一阶段:分布式缓存开发、性能稳定性优化:

# 内容
1 memcached源码详细分析注释,带详尽中文注释及函数调用关系
2 借助redis已有的网络相关.c和.h文件,半小时快速实现一个epoll异步网络框架,程序demo
3 借助redis已有的网络相关.c和.h文件,半小时快速实现一个epoll异步网络框架,程序demo-文档说明
4 阻塞、非阻塞程序demo
5 阻塞、非阻塞、同步、异步、epoll说明
6 借助redis的配置解析模块,快速实现一个配置文件解析程序demo
7 借助redis的日志模块,快速实现一个同步日志写、异步日志写程序demo
8 借助redis的bio模块,快速实现线程池组demo
9 常用高并发网络线程模型设计(最全高并发网络IO线程模型设计及优化)

第二阶段:高性能代理中间件开发

# 内容
1 redis、memcached缓存代理twemproxy源码详细分析注释,带详尽中文注释及函数调用关系
2 nginx-1.9.2源码通读分析注释,带详尽函数中文分析注释
3 nginx多进程、高性能、低时延、高可靠机制应用于缓存中间件twemproxy,对twemproxy进行多进程优化改造,提升TPS,降低时延,代理中间件长连接百万TPS/短连接五十万TPS实现原理
4 常用高并发网络线程模型设计

第三阶段:wiredtiger、rocksdb存储引擎开发,大容量nosql存储系统二次开发

# 内容
1 文档数据库mongodb kv存储引擎wiredtiger源码详细分析注释
2 rocksdb-6.1.2 KV存储引擎源码中文注释分析
3 百万级高并发mongodb集群性能数十倍提升优化实践(上篇)

第四阶段:mongodb数据库源码学习,二次开发等

###《mongodb内核源码设计与实现》源码模块化分析

第一阶段:单机内核源码分析

mongodb单机模块化架构图

# 单机模块名 核心代码中文注释 说明 模块文档输出
1 网络收发处理(含工作线程模型) 网络处理模块核心代码实现(100%注释分析) 完成ASIO库、网络数据收发、同步线程模型、动态线程池模型等功能 详见infoq专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
2 command命令处理模块 命令处理相关模块源码分析(100%注释分析) 完成命令注册、命令执行、命令分析、命令统计等功能 详见oschina专栏:《mongodb内核源码中文注释详细分析及性能优化实践系列》
3 write写(增删改操作)模块) 增删改写模块(100%注释分析) 完成增删改对应命令解析回调处理、事务封装、storage存储模块对接等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
4 query查询引擎模块) query查询引擎模块(核心代码注释) 完成expression tree解析优化处理、querySolution生成、最优索引选择等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
5 concurrency并发控制模块 并发控制模块(核心代码注释) 完成信号量、读写锁、读写意向锁相关实现及封装 详见infoq专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
6 index索引模块 index索引模块(100%注释分析) 完成索引解析、索引管理、索引创建、文件排序等功能 详见oschina专栏:《mongodb内核源码中文注释详细分析及性能优化实践系列》
7 storage存储模块) storage存储模块(100%注释分析) 完成存储引擎注册、引擎选择、中间层实现、KV实现、wiredtiger接口实现等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》
8 wiredtiger存储引擎) wiredtiger存储引擎设计与实现专栏分析(已分析部分) 完成expression tree解析优化处理、querySolution生成、最优索引选择等功能 详见知乎专栏:《MongoDB内核源码设计、性能优化、最佳运维实践》

第二阶段:复制集内核源码分析(已分析部分源码,待整理)

第三阶段:sharding分片内核源码分析(已分析部分源码,待整理)

<<千万级峰值tps/十万亿级数据量文档数据库内核研发及运维之路>>

# 文章内容
1 盘点 2020 - 我要为分布式数据库 mongodb 在国内影响力提升及推广做点事
2 万亿级数据库 MongoDB 集群性能数十倍提升及机房多活容灾实践
3 Qcon现代数据架构 -《万亿级数据库 MongoDB 集群性能数十倍提升优化实践》核心 17 问详细解答
4 话题讨论 - mongodb 相比 mysql 拥有十大核心优势,为何国内知名度不高?
5 万亿级数据库 MongoDB 集群性能数十倍提升及机房多活容灾实践
6 百万级高并发mongodb集群性能数十倍提升优化实践(上篇)
7 Mongodb网络传输处理源码实现及性能调优-体验内核性能极致设计
8 常用高并发网络线程模型设计及mongodb线程模型优化实践(最全高并发网络IO线程模型设计及优化)
9 Mongodb集群搭建一篇就够了-复制集模式、分片模式、带认证、不带认证等(带详细步骤说明)
10 Mongodb特定场景性能数十倍提升优化实践(记一次mongodb核心集群雪崩故障)
11 mongodb内核源码设计实现、性能优化、最佳运维系列-mongodb网络传输层模块源码实现二
12 为何需要对开源mongodb社区版本做二次开发,需要做哪些必备二次开发
13 对开源mongodb社区版本做二次开发收益列表
14 盘点 2020 - 我要为分布式数据库 mongodb 在国内影响力提升及推广做点事
15 mongodb内核源码实现、性能调优、最佳运维实践系列-数百万行mongodb内核源码阅读经验分享
16 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现一
17 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现二
18 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现三
19 mongodb内核源码实现、性能调优、最佳运维实践系列-mongodb网络传输层模块源码实现四
20 mongodb内核源码实现、性能调优、最佳运维实践系列-command命令处理模块源码实现一
21 mongodb内核源码实现、性能调优、最佳运维实践系列-command命令处理模块源码实现二
22 mongodb内核源码实现、性能调优、最佳运维实践系列-command命令处理模块源码实现三
23 mongodb内核源码实现、性能调优、最佳运维实践系列-记mongodb详细表级操作及详细时延统计实现原理(教你如何快速进行表级时延问题分析)
24 mongodb内核源码实现、性能调优、最佳运维实践系列-Mongodb write写(增、删、改)模块设计与实现

其他分享

# 内容
1 阿里巴巴分布式消息队列中间件rocketmq-3.4.6源码分析
2 服务器时延统计工具tcprstat,增加时延阈值统计,记录超过阈值的包个数,并把数据包时间戳记录到日志文件,这样可以根据时间戳快速定位到抓包文件中对应的包,从而可以快速定位到大时延包,避免了人肉搜索抓包文件,提高问题排查效率
3 linux内核网络协议栈源码阅读分析注释
4 docker-17.05.0源码中文注释详细分析
5 lxc源码详细注释分析
6 source insight代码中文注释乱码、背景色等配置调整
7 linux内核协议栈TCP time_wait原理、优化、副作用
8 为何需要对开源社区版本mongodb做二次开发,需要做哪些二次开发
9 在线引流工具Tcpcopy原理、环境搭建、使用、采坑

技术交流群

对linux c/c++ nginx redis memcache twemproxy mongodb 中间件 存储引擎 分布式 高并发 高性能服务端等技术敢兴趣的同学可以加群: QQ交流群1(针对在校生)-(群号:568892619) QQ交流群2(针对已工作)-(581089275)

About

中间件、高性能服务器、分布式存储等(redis、memcache、nginx、大容量redis pika、rocksdb、mongodb、wiredtiger存储引擎、高性能代理中间件)二次开发、性能优化,逐步整理文档说明并配合demo指导--每周末定时更新2-3篇技术文章及程序demo

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy