第一章 设计不重复高性能分布式发号器
第二章 消息队列框架
同步线程模型
异步线程模型
优雅关机
反射机制
第三章 轻量级数据库分库分表架构
分布式事务
事务路由
- 自动提交事务路由
- 可编程事务路由
- 声明式事务路由
读写分离
Mycat
分片规则
- 枚举
- 固定分片Hash算法
- 范围约定
- 求模法
- 日期列分区法
- 通配取模
- ASCII码通配求模
- 编程指定
- 截取数字Hash解析
- 一致性Hash
Sharding JDBC
核心概念
- LogicTable
- ActualTable
- DataNode
- BindingTable
- ShardingColumn
- ShardingAlgorithm
使用限制:
- 不支持Having
- 不支持Union和Union All
- 不支持or
- 不支持批量insert
- 不支持distinct聚合
- 不支持多子查询嵌套
第四章 缓存及实践
适合使用缓存的场景:
读密集型应用、存在热数据的应用、对响应时效要求较高、对一致性要求不严格、需要实现分布式锁的时候;
不适合的场景:读少、更新频繁、对一致性要求严格。
第五章 ES
Lucene
读写流程
核心术语
检索方式
- 单个词查询
- AND
- OR
- NOT
分段存储
类似于CMS的分段思想,将一个索引文件拆分成若干个子文件,即段,每个段都是一个独立的可被搜索的数据集,具有不变性,一旦写入磁盘则不可修改。
段不变性的优点:
缺点:
端合并策略
解决段的碎片率问题,