浅谈简单场景下处理高并发的思路

1. 单机变集群数据库

2. 数据库分库分表、读写分离缓存

常见的分库分表:并发

(1)垂直分表:异步

  通俗的说就是“大表拆小表”。拆分是基于关系型数据库中的“列”(字段)进行的。一般状况,某个表中的字段比较多,能够新创建一张“扩展表”,将不常常使用或者长度较大的字段拆分出去放到“扩展表”中。微服务

(2)垂直分库:性能

  在“微服务”盛行的今天已经很是普及了。基本的思路就是按照业务模块来划分出不一样的数据库,而不是像早期同样将全部的数据表都放到同一个数据库中。优化

(3)水平分表:中间件

  水平分表也称为横向分表,比较容易理解,就是将表中不一样的数据行按照必定规律分布到不一样的数据库表中(这些表保存在同一个数据库中),这样来下降单表数据量,优化查询性能。最多见的方式就是经过主键或者时间等字段进行 Hash 和取模后拆分。同步

(4)水平分库分表:集群

水平分库分表与上面讲到的水平分表的思想相同,惟一不一样的就是将这些拆分出来的表保存在不一样的数据中。这也是不少大型互联网公司所选择的作法。

 

3. 加入缓存

4. 加入消息中间件,将同步请求异步处理

 

基本采用以上的几个思路均可以达到减小数据库并发请求的目的,不少时候系统崩溃也都是从数据库开始,这里要特别注意有时候硬盘满了也会形成数据库链接数占满的状况,

因此必定要作好实时监控好硬盘状态,这个通常运营商也都有这个服务。

相关文章
相关标签/搜索