本书由资深 Mycat 专家及一线架构师、DBA 编写而成。全书总计 8 章,首先简单介绍了分布式系统和分布式数据库的需求,然后讲解了分布式数据库的实现原理,并对市场上存在的各种分布式数据库中间件进行了对比,再围绕着如何利用 Mycat 实现分布式数据库而展开。
本书对 Mycat 从入门到进阶、从高级技术实践到架构剖析、从网络通信协议解析到系统工作原理的方方面面进行了详细讲解,并剖析了 Mycat的 SQL 路由、跨库联合查询、分布式事务及原生 MySQL、PostgreSQL 协议等核心技术。
通过本书不仅可以了解 Mycat 的基本概念,掌握 Mycat 配置等技术,还能感受到 Mycat 的架构设计之美,了解 Mycat 2.0的未来规划。
王涛 / 巨杉数据库联合创始人
李春 / 沃趣科技MySQL负责人
Leader-us
黄志洪 / ITPUB社区炼数成金社区创始人
张见蓬 / 尚观科技执行董事
樊建 / 华泰证券平台架构总监
周辉 / 顺丰科技数据中心副总监
陈柏宇 / 上海恰为思信息科技有限公司创始人
随着移动互联网的兴起和大数据的蓬勃发展,系统的数据量正呈几何倍数增长,系统的压力也越来越大,这时最容易出现的问题就是服务器繁忙,我们可以通过增加服务器及改造系统来缓解压力,然后采用负载均衡、动静分离、缓存系统来提高系统的吞吐量。然而,当数据量的增长达到一定程度的时候,增加应用服务器并不能明显地提高系统的效率,因为所有压力都会传导到数据库层面,而大多数系统都是用一个数据库来存储和管理系统数据的。这时,Mycat应运而生。
谈到Mycat就不得不谈谈Cobar,Cobar是阿里巴巴开源的数据库中间件,由于其存在使用限制及一些比较严重的问题,Leader-us在其基础上于2013年年底实现了Mycat 1.0版本,Mycat一经发布便引起了很多人的关注。之后Mycat社区对Cobar的代码进行了彻底重构,使用NIO重构了网络模块,并且优化了Buffer内核,增强了聚合、Join等基本特性,同时兼容了绝大多数数据库,使之成为通用的数据库中间件。Mycat在1.4版本以后完全脱离了Cobar内核,同时采用了Mycat集群管理、自动扩容及智能优化,成为了高性能的数据库中间件。Mycat从诞生至今已有三年多了,一直在坚持做最好的开源数据库中间件产品。
本书总计8章,涵盖了Mycat入门、进阶、高级技术实战、企业运维、架构剖析、核心技术分析、多数据库支持原理与实现等内容,内容详尽、图文并茂,几乎囊括了Mycat所涉及的方方面面,无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深IT人士来说,本书都极具参考价值。
第1章:介绍了分布式系统和分布式数据库系统的原理,介绍Mycat的起源和发展状况,并对各种数据库中间件做了简要介绍和对比。
第2章:讲解了Mycat的入门知识,介绍了Mycat的安装环境、核心概念和分库分表的原理,以及Mycat源码开发调试的过程。
第3章:讲解了Mycat的进阶知识,主要介绍Mycat的各种配置和分片算法。
第4章:讲解了Mycat和MySQL实战案例,由拥有丰富的Mycat线上实战经验的专家和DBA共同编写而成,有很高的参考价值。
第5章:简要介绍了用于Mycat性能监控的工具—Mycat-web,详细讲解了Mycat和MySQL的优化技术,是DBA的亲身总结和经验之谈。
第6章:重点阐述了Mycat的架构,包括网络、线程、连接池、内存管理及缓存实现等,是了解Mycat框架的基础。
第7章:介绍了Mycat的核心技术,包括分布式事务的实现、跨库Join的三种实现方式等,介绍了多节点数据汇聚和排序的原理,并详细阐述了在Mycat 1.6版本中实现的一致性分布式事务的功能。
第8章:介绍了MySQL和PostgreSQL的通信协议及Mycat对这些通信协议的实现,然后介绍了Mycat对JDBC及多种数据库的支持,例如Oracle、SQL Server、MongoDB等。
由于作者的写作水平有限,书中难免会有不妥或者疏漏之处,欢迎读者批评指正。
冰风影
Mycat社区负责人
2016年11月6日于广州番禺
第 1 章数据库中间件与分布式数据库的实现
1.1 什么是分布式系统
1.2 为什么需要分布式数据库
1.3 分布式数据库的实现原理
1.4 Mycat 数据库中间件简介
第 2 章 Mycat 入门
2.1 环境搭建
2.2 Mycat 核心概念详解
2.3 Mycat 原理介绍
2.4 参与 Mycat 源码开发
第 3 章 Mycat 进阶
3.1 Mycat 配置详解
3.2 Mycat 分片规则详解
3.3 Mycat 管理命令详解
3.3.1 Reload 命令
3.3.2 Show 命令
第 4 章 Mycat 高级技术实战
4.1 用 Mycat 搭建读写分离
4.2 Mycat 故障切换
4.3 Mycat+Percona+HAProxy+Keepalived
4.4 MHA+Keepalived 集群搭建
4.5 用 ZooKeeper 搭建 Mycat 高可用集群
4.6 Mycat 高可用配置
4.7 Mycat 注解技术
第 5 章 Mycat 企业运维
5.1 Mycat 性能监控——Mycat-web 详解
5.2 Mycat 性能优化
5.3 MySQL 优化技术
第 6 章 Mycat 架构剖析
6.1 Mycat 总体架构介绍
6.2 Mycat 网络 I/O 架构与实现
6.3 Mycat 线程架构与实现
6.4 Mycat 内存管理及缓存架构与实现
6.5 Mycat 连接池架构与实现
6.6 Mycat 主从切换架构与实现
第 7 章 Mycat 核心技术分析
7.1 Mycat 分布式事务的实现
7.2 Mycat SQL 路由的实现
7.3 Mycat 跨库 Join 的实现
7.4 Mycat 数据汇聚和排序的实现
第 8 章 Mycat多数据库支持原理与实现
8.1 MySQL 协议在 Mycat 中的实现
8.2 PostgreSQL 协议在 Mycat 中的实现
8.3 Mycat 对 JDBC 支持的实现
喜欢请分享至朋友圈
了解更多本书详情请点击阅读原文
长按二维码轻松关注