zoukankan      html  css  js  c++  java
  • 浅谈简单场景下处理高并发的思路

    1. 单机变集群

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

    常见的分库分表:

    (1)垂直分表:

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

    (2)垂直分库:

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

    (3)水平分表:

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

    (4)水平分库分表:

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

    3. 加入缓存

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

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

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

  • 相关阅读:
    static的全部用法收集整理
    文思创新复试及一些自己的思考
    “一碗牛肉面”引发的管理难题
    信必优面试实录
    我做PM(项目经理)这段时间...
    什么是面向对象?
    沟通
    体会Bind和Eval的不同用法
    北京艾德思奇科技有限公司面试实录
    今天去sony公司面试实录
  • 原文地址:https://www.cnblogs.com/pzyin/p/11414386.html
Copyright © 2011-2022 走看看