5.mysql架构优化

前言

自己最近也在慢慢摸索原理性相关的知识点,现学之后就会简单的记录一下当做自己的笔记,如果有不对之处,还希望批评指正,本文档会不断更新。

场景

互联网项目上线之后,数据量日复一日的递增,现有的单体结构已经无法支撑日益膨胀的业务,这时候就需要对架构进行一些优化

方案

1.系统拆分

把原有的单体系统架构进行拆分,成为分布式系统,每一个系统连接一个数据库,减少数据库压力

2. 缓存

大多数并发场景都是读多写少,那么就可以根据业务利用redis缓存来减少数据库压力

3. 消息队列

常见的有MQ,kafka等。可以把大量需求放到队列里,由后面的系统依次进行消费,控制在mysql的承受范围之内

4. 分库分表

将原有复杂的数据库或者表,拆分成多个,将每个表的数据相对简单,提升sql性能

5. 读写分离

因为大部分时候数据库都是读多写少,所以没必要所有请求都集中在一个库上。可以实现一个主从架构,主库写,从库读,这样读流量太多的时候可以加更多的从库。(主库会把发生的一些dml(数据操纵语言,常见的新增、删除、修改)和ddl(数据定义语言,常见的结构的修改、新增)操作的变化发送给从库)

常见的主从结构有

  • 一主多从:可能存在单点故障问题
  • 双主复制:互为主从
  • 多级复制:层级结构,父-子-孙关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值