37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
- [[读写分离]]
|
||
- [[数据库分片]]
|
||
- 实现方式
|
||
- 程序代码封装
|
||
- 在数据访问层DAO层添加对应的处理逻辑
|
||
- 中间件封装
|
||
- MyCat
|
||
- 对业务来说,访问中间件和数据库没有区别
|
||
- Apache ShardingSphere
|
||
- ShardingSphere-JDBC
|
||
- 在JDBC层提供的额外服务
|
||
- 
|
||
- ShardingSphere-Proxy
|
||
- 透明的数据库代理端
|
||
- 
|
||
- Sidecar(规划中)
|
||
- 广播表
|
||
- 所有分片数据源都存在的表,结构且数据在每个数据库当中完全一致,适用于数据量不大但是需要与海量数据表关联查询的场景(字典表)
|
||
- ```properties
|
||
#数据节点可不配置,默认情况下,向所有数据源广播
|
||
spring.shardingsphere.rules.sharding.tables.t_dict.actual-data-nodes=server-user.t_dict,server-order$->{0..1}.t_dict
|
||
|
||
# 广播表
|
||
spring.shardingsphere.rules.sharding.broadcast-tables[0]=t_dict
|
||
|
||
```
|
||
- 启动方式
|
||
- 二进制
|
||
- Docker
|
||
- 启动镜像
|
||
- 上传MySQL驱动
|
||
- 修改server.yaml
|
||
- 修改config-readwrite-splitting.yaml
|
||
- 需要配置垂直分片,水平分片
|
||
- 需要配置各个表及其对应的服务器
|
||
- Helm
|
||
- |