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

1. 单机变集群

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

常见的分库分表:

(1)垂直分表:

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

(2)垂直分库:

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

(3)水平分表:

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

(4)水平分库分表:

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

 

3. 加入缓存

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

 

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

所以一定要做好实时监控好硬盘状态,这个一般运营商也都有这个服务。

posted @ 2019-08-26 19:21  哦克Oak  阅读(312)  评论(0编辑  收藏  举报