高并发下的业务提交策略

最近在考虑电商平台高并发下订单处理问题,web

总结以下:数据库

1.绝大部份的BS系统最大的性能瓶颈我以为应该在DATABASE          编程

       为何?由于其它影响因素(网络,存储,WEB服务器......),是能够经过投入比较快速的解决           缓存

       网络?经过增长带宽解决;存储?经过存储设备或区域存储,便可解决大容量,可靠性问题;服务器

       WEB服务器?能够经过四层或七层负 载均衡解决。网络

 2.而DATABASE最大受限在INSERT,也就是业务上所说的“提交”或“保存”         并发

       为何?对于数据的查询,能够经过缓存集群解决。提交或保存,带来的DB是write lock,是排它性;并随着数据量大或并发高,锁的粒度,锁的时长更大,问题更严重。  编程语言

3.解决之道?           高并发

         队列也。 性能

    
HTTPSQS        

● 很是简单,基于 HTTP GET/POST 协议。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP协议的编程语言都可调用。   

● 很是快速,入队列、出队列速度超过10000次/秒。   

● 高并发,支持上万的并发链接,C10K不成问题。   

● 支持多队列。   

● 单个队列支持的最大队列数量高达10亿条。   

● 低内存消耗,存储几十GB的数据只需不到100MB的物理内存缓冲区。   

● 能够在不中止服务的状况下便捷地修改单个队列的最大队列数量。   

● 能够实时查看队列状态(入队列位置、出队列位置、未读队列数量、最大队列数量)。   

● 能够查看指定队列ID(队列点)的内容,包括未出、已出的队列内容。   

● 查看队列内容时,支持多字符集编码。 配置使用以下 1、前期准备 依赖包  http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz  http://httpsqs.googlecode.com/files/tokyocabinet-1.4.47.tar.gz  http://httpsqs.googlecode.com/files/httpsqs-1.7.tar.gz
2、安装配置 tar zxvf libevent-2.0.12-stable.tar.gz cd libevent-2.0.12-stable/ ./configure --prefix=/usr/local/libevent-2.0.12-stable/ make make install

tar zxvf tokyocabinet-1.4.47.tar.gz cd tokyocabinet-1.4.47/ ./configure --prefix=/usr/local/tokyocabinet-1.4.47/ #注:在32位Linux操做系统上编译Tokyo cabinet,请使用./configure --enable-off64代替./configure,可使数据库文件突破2GB的限制。 #./configure --enable-off64 --prefix=/usr/local/tokyocabinet-1.4.47/ make make install
tar zxvf httpsqs-1.7.tar.gz cd httpsqs-1.7/ make make install

说明成功!
3、使用及帮助文档 启动: httpsqs -d -p 1218 -x /data0/queue https://code.google.com/p/httpsqs/
相关文章
相关标签/搜索