Commit ad84a3c 1 parent 91ea713 commit ad84a3c Copy full SHA for ad84a3c
File tree 2 files changed +31
-3
lines changed
2 files changed +31
-3
lines changed Original file line number Diff line number Diff line change @@ -2321,12 +2321,40 @@ server {
2321
2321
}
2322
2322
```
2323
2323
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
+
2324
2354
### 一致性哈希
2325
2355
2326
2356
### Redis 高可用、集群
2327
2357
2328
- ### DB 主从、读写分离
2329
-
2330
2358
### 消息队列
2331
2359
2332
2360
RabbitMQ、ActiveMq、Nsq、kafka、zookeeper
Original file line number Diff line number Diff line change 23
23
- 《设计模式-可复用面向对象软件的基础》Erich Gamma
24
24
- 《Learning PHP 设计模式》 William Sanders
25
25
- 《深入理解 Nginx-第2版》陶辉
26
+ - 《大型网站系统与 Java 中间件开发实践》曾宪杰
26
27
27
28
- 《企业应用架构模式》Martin Fowler
28
- - 《大型网站系统与 Java 中间件开发实践》曾宪杰
29
29
30
30
## 网络资料
31
31
You can’t perform that action at this time.
0 commit comments