zoukankan      html  css  js  c++  java
  • 遇到高并发一些处理方法

    处理高并发问题的一些方式
    1.拆表:大表拆小表(垂直拆,水平拆;分表,分区partition,分片sharding),可以在应用层实现,也可以在数据库层面实现一部分;提高系统性能。
    2.分库:把表放到不同的数据库,这也是分布式数据库的基础;提高系统性能。
    3.分布式:不同的数据库放到不同的服务器;提高系统性能。
    4.集群:使用数据库复制等技术组建集群,实现读写分离、备份等;提高系统性能、可用性。
    5.缓存:对常用的数据进行缓存。提高系统性能。
    6.备份:主从库,快照,热备,异地备份等;提高系统可用性
    架构:LVS+keepalived+Java/PHP/Python+mysql/mongodb+memcached/redis+centos+nginx/apache+sphinx/solr+Gearman+Munin+TFS

    优化的顺序是:业务、程序、部署。

    从业务上要处理好应用超出负荷时的处理,比如:目前在线人过多请稍候访问之类的提示;减少图片、附件等上传的大小限制,甚至临时取消附件功能,减少带宽和存储空间的压力;分页只支持固定的分页。

    程序上包括应用的优化和数据库的优化。有可能的话尽量使用第三方的服务减少服务器自身的压力。首页等访问量大的页面静态化,减少数据库的压力,批量的实务代替时时的处理。数据库要对业务表的锁进行细化处理,读写分离。

    部署上要数据库一台,另外两台负载均衡。使用cdn尽量把流量分离出去。增加防ddos攻击,跳高防护的等级,减少网络攻击对普通用户的影响。

    并发中的性能问题
    1,有钱就堆设备
    2,充分利用缓存(配合php的黑魔法fastcgi_finish_request非常好用)

    并发中数据一致性问题
    1,使用队列
    2,必要的自动复查
    3,数据库锁的合理利用

    负载均衡
    读写分离
    缓存,分布式缓存

    最基本的各种配置文件的优化是有必要的.

    程序方面:数据文件缓存,内存缓存,静态缓存,opcode缓存等等

    数据库方面:设计合适的表结构,表缓存优化,主从动静分离,集群,冷热数据分离等....

  • 相关阅读:
    Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
    dubbo初探(转载)
    基于ZooKeeper的Dubbo注册中心
    kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
    HBase权威指南 高清中文版 PDF(来自linuxidc)
    Hadoop + HBase (自带zookeeper 也可单独加) 集群部署
    zookeeper 入门讲解实例 转
    eclipse 配置黑色主题
    myeclipse 2016 激活,myeclipse 2016 激活
    界面上传文件js包【AjaxUpload.js】
  • 原文地址:https://www.cnblogs.com/pomeng/p/7365926.html
Copyright © 2011-2022 走看看