Skip to content

Commit ad84a3c

Browse files
committed
更新内容
1 parent 91ea713 commit ad84a3c

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

QA.md

+30-2
Original file line numberDiff line numberDiff line change
@@ -2321,12 +2321,40 @@ server {
23212321
}
23222322
```
23232323

2324+
### 数据库读写分离
2325+
2326+
为了确保数据库产品的稳定性,很多数据库拥有双机热备功能。也就是,第一台数据库服务器,是对外提供增删改业务的生产服务器;第二台数据库服务器,主要进行读的操作
2327+
2328+
主数据库(master)处理事务性增、改、删操作(INSERT、UPDATE、DELETE),从数据库(slave)处理 SELECT 查询操作
2329+
2330+
### 数据库拆分
2331+
2332+
数据库拆分有两种方式,一个是`垂直拆分`,一个是`水平拆分`。垂直拆分就是把一个数据库中不同业务单元的数据分到不同的数据库里面,水平拆分根据一定的规则把同一业务单元的数据拆分到多个数据库中
2333+
2334+
#### 垂直拆分影响
2335+
2336+
- 单机的 ACID 保证被打破了
2337+
- 一些 Join 操作会变得比较困难
2338+
- 靠外键去进行约束的场景会受影响
2339+
2340+
#### 水平拆分影响
2341+
2342+
- 单机的 ACID 保证被打破了
2343+
- 一些 Join 操作会变得比较困难
2344+
- 靠外键去进行约束的场景会受影响
2345+
- 依赖单库的自增序列生成唯一 ID 受影响
2346+
- 针对单个逻辑意义上的表的查询要跨库了
2347+
2348+
### 分布式事务
2349+
2350+
### 服务化
2351+
2352+
### 服务注册发现
2353+
23242354
### 一致性哈希
23252355

23262356
### Redis 高可用、集群
23272357

2328-
### DB 主从、读写分离
2329-
23302358
### 消息队列
23312359

23322360
RabbitMQ、ActiveMq、Nsq、kafka、zookeeper

参考资料.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
- 《设计模式-可复用面向对象软件的基础》Erich Gamma
2424
- 《Learning PHP 设计模式》 William Sanders
2525
- 《深入理解 Nginx-第2版》陶辉
26+
- 《大型网站系统与 Java 中间件开发实践》曾宪杰
2627

2728
- 《企业应用架构模式》Martin Fowler
28-
- 《大型网站系统与 Java 中间件开发实践》曾宪杰
2929

3030
## 网络资料
3131

0 commit comments

Comments
 (0)