高性能队列Fqueue的设计和使用实践.pptx

上传人:wj 文档编号:18736744 上传时间:2023-10-23 格式:PPTX 页数:25 大小:752.09KB
下载 相关 举报
高性能队列Fqueue的设计和使用实践.pptx_第1页
第1页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第2页
第2页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第3页
第3页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第4页
第4页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第5页
第5页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第6页
第6页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第7页
第7页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第8页
第8页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第9页
第9页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第10页
第10页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第11页
第11页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第12页
第12页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第13页
第13页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第14页
第14页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第15页
第15页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第16页
第16页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第17页
第17页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第18页
第18页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第19页
第19页 / 共25页
高性能队列Fqueue的设计和使用实践.pptx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

高性能队列Fqueue的设计和使用实践.pptx

《高性能队列Fqueue的设计和使用实践.pptx》由会员分享,可在线阅读,更多相关《高性能队列Fqueue的设计和使用实践.pptx(25页珍藏版)》请在冰点文库上搜索。

高性能队列Fqueue的设计和使用实践.pptx

高性能队列Fqueue的设计和使用实践,2011.11,孙立sunli1223,提纲,FQueue简介Fqueue的存储设计Fqueue的使用实践Q&A,Fqueue简介,Fqueue(FastQueue)提供跟Memcached一样的客户端分布式和高可用机制单实例多队列功能每个队列可设置安全认证密码可动态增加队列或者更改密码纯JAVA实现,可以内置到JAVA进程内使用simple,真的simple开源http:

/,Fqueue有多快,进程内每次写入10字节,909万qps86MB/s每次写入1024字节,19万qps185MB/s跨服务器多个client每次写入10字节,32万qps注:

QPS:

Query-per-second1秒钟内完成的请求数如上:

909万个请求,每个请求10字节,所以909万*10/1024/1024=86MB/s19万*1024/1024/1024=185MB/sRT:

Response-time1个请求完成的时间,Fqueue使用有多简单,下载-解压-启动直接使用,无需繁杂的参数优化,你总是能获得高性能的Queue队列服务器,Fqueue的存储设计,Fqueue的整体设计结构,Producer,Memcached接口,FSQueue持久化队列存储,Comsumer,管理、监控,Fqueue协议实现,FSQueue持久化队列存储,FSQueue持久化队列存储,架构在Memcached协议之上,add,get,Fqueue的存储结构设计,1,2,3,4,5,6,7,8,9,3,18,单文件顺序存储数据,存储出队和入队的位置,初始想法,问题:

出队数据不好删除,1,2,Fqueue的存储结构设计,Readoffset,Writeoffset,最终的结构,3,4,5,6,7,8,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,File1,File2,File3,ReadFileNo,WriteFileNo,数据顺序写数据顺序读IndexFile记录读写位置和文件编号IndexFile标记删除,不删除物理数据FileNo全部消费后,再删除FileNo文件。

IndexFile,选择读写实现方式-内存映射,JAVA的读写文件方式有很多,性能、特点都不一样,所以需要选择一个合适的。

测试方式:

循环顺序写入10字节数据1000万次,BufferedOutputStream虽然最快,但是易丢失数据,权衡之下,我们选择了MappedByteBuffer作为我们的文件操作实现,Fqueue一些优化,FileNo文件全部消费后,交给后台线程异步删除在新创建一个FileNo时,会让后台线程预创建下一编号的存储文件每10ms让OS强制刷盘每个Queue的读写都有自己的Queue级别writeLock,1、2在FileRunner.java中实现,Fqueue的使用实践,队列服务器的常见使用场景-缓解数据库写压力,app,数据库,直接Insertinto,应用的性能直接依赖于数据库的响应时间和性能,直接写数据库,队列服务器的常见使用场景-缓解数据库写压力,用户,queue,queue,数据库,处理job,高速队列,降低了应用写库的时间,能提高系统的写入吞吐量,应付高峰值,批量insert,合并写。

(批量插入可提升性能),用队列服务器应付高峰写入,队列服务器的常见使用场景-缓解数据库写压力,用队列服务器应付高峰写入,用户,queue,queue,数据库,处理job,数据库宕机,队列部分宕机不影响应用的正常服务,队列服务器的常见使用场景-缓解数据库写压力,用了队列服务器,如何实现实时性?

用户,queue,queue,数据库,处理job,实时缓冲区,用户,数据库,复制,merge,队列服务器的常见使用场景-任务处理,比如发送邮件,分组发送,队列服务器的常见使用场景-任务处理,自描述任务,/存储逻辑到队列memcachedClient.add(job_pass,0,#!

/bin/shrnsomecode);memcachedClient.add(job_pass,0,);,/执行代码Stringcode=memcachedClient.get(job_pass);Stringresult=RunJob.runCode(code);,队列服务器的常见使用场景-数据收集,日志收集,app,app,app,queue,queue,统计系统,日志监控报警系统,系统性能分析系统,低延迟,速度稳定,延迟比较高,速度不稳定,可能跨机房,日处理1亿日志的队列服务资源占用截图,高峰期不超过20%,队列服务器的常见使用场景-解耦程序,视频网站的用户视频上传流程,Fqueue的使用,PHP使用,Java使用(Xmemcached),Fqueue的使用-分布式与key的设计,Hash(key_pass)始终只会hash到一台。

(HA)Hash(key_pass_固定字符串),固定hash到3三台,可用于负载均衡。

Hash(Key_pass_变化字符串),随机hash到三台,可用于负载均衡。

Fqueue1,Fqueue2,Fqueue3,client,Fqueue实践-Q的火车票余票抓取,火车票系统,Memcached,余票抓取任务,Fqueue,处理程序,处理程序,处理程序,后台定时任务,清除堆积数据,Fqueue,Fqueue实践-监控,谢谢,加入我们吧,Q&A,各种技术人员,简历投递到微博联系:

http:

/,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2