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

    1. 单机变集群

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

    常见的分库分表:

    (1)垂直分表:

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

    (2)垂直分库:

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

    (3)水平分表:

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

    (4)水平分库分表:

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

    3. 加入缓存

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

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

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

  • 相关阅读:
    Django笔记(2)Json字段处理
    jvm 启动参数设置(转载)
    消息中间件及WebSphere MQ入门(转载)
    Ubuntu下Tomcat绑定80端口(zz)
    idea+tomcat 端口占用
    内存溢出和内存泄漏的区别(ZZ)
    Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)
    ubuntu 安装jdk7小结(转载)
    ubuntu下安装maven(转载)
    CXF wsdl2java (转载)
  • 原文地址:https://www.cnblogs.com/pzyin/p/11414386.html
Copyright © 2011-2022 走看看