middleware_development_learning
中间件、高性能服务器、分布式存储等(redis、memcache、pika、rocksdb、mongodb、wiredtiger、高性能代理中间件)二次开发、性能优化,逐步整理文档说明并配合demo指导
近期抽业余时间来总结多年工作中学习到的各种中间件、分布式存储、高性能服务端等技术,通过文章博客和程序demo等方式呈现给大家,暂定分享思路如下:
对外演讲
专栏
# | 专栏名内容 |
---|---|
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存储引擎源码分析及二次开发 |
第一阶段:分布式缓存开发、性能稳定性优化:
第二阶段:高性能代理中间件开发
第三阶段:wiredtiger、rocksdb存储引擎开发,大容量nosql存储系统二次开发
# | 内容 |
---|---|
1 | 文档数据库mongodb kv存储引擎wiredtiger源码详细分析注释 |
2 | rocksdb-6.1.2 KV存储引擎源码中文注释分析 |
3 | 百万级高并发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/十万亿级数据量文档数据库内核研发及运维之路>>
其他分享
技术交流群
对linux c/c++ nginx redis memcache twemproxy mongodb 中间件 存储引擎 分布式 高并发 高性能服务端等技术敢兴趣的同学可以加群: QQ交流群1(针对在校生)-(群号:568892619) QQ交流群2(针对已工作)-(581089275)