分而治之--浅谈分库分表及实践之路 | 京东云技术团队
💡
原文中文,约5800字,阅读约需14分钟。
📝
内容提要
介绍ShardingSphere的配置方法,包括数据源配置、分片键配置、广播表配置等。应该先基于DDD思想划分业务单元,进行垂直分库,再针对增长量大的表进行水平分库。在分表维度上,应该优先考虑垂直分表的设计。
🎯
关键要点
- 微服务的核心思想是分而治之,降低复杂度,提升扩展性。
- 分库分表是快速增长业务中不可避免的环节,尤其在商品池和订单数据方面。
- 关系型数据库在数据量大时检索性能下降,需要分库分表来解决性能瓶颈。
- 数据库架构方案包括Shared Everything、Shared Disk和Shared Nothing。
- Sharding是Shared Nothing架构的实现,通过水平分割表并分配给多台服务器。
- 分库分表的产品模式分为中间件模式和客户端模式,各有优缺点。
- 中间件模式支持异构语言,但硬件消耗大,运维成本高。
- 客户端模式去中心化,性能高,但对代码有侵入性。
- Sharding-JDBC是轻量级Java框架,兼容JDBC和各种ORM框架。
- 配置Sharding-JDBC需要集成组件、配置数据源和设置分片规则。
- 基于DDD思想划分业务单元,先进行垂直分库,再对增长量大的表进行水平分库。
- 在分表设计上,优先考虑垂直分表的设计。
🏷️
标签
➡️