`
yjl49
  • 浏览: 113778 次
社区版块
存档分类
最新评论

fqueue(二)

    博客分类:
  • JAVA
阅读更多

上一篇blog分析了fqueue 的数据存储层的实现。这篇主要分析通信部分。fqueue使用jmemcached做为通信层,jmemcached与客户端的交互使用netty框架。

主要的类如下:

startNewQueue:启动类,每new一个instance 都会启动一个监听了相应端口的服务。

MemCacheDaemon:负责通信的管理,包括调用netty建立监听,接受连接等,这里会根据交互数据格式的不同选择处理二进制数据或字符数据。

CacheImpl:对Cache接口的具体实现,使用FSQueue做为实际的数据存储层。

MemcachedCommandHandler:对netty收到的数据的实际处理类。

 

基本处理流程如下:

netty底层收到客户端数据 ---------->由MemcachedBinaryCommandDecoder或MemcachedCommandDecoder进行初步解析转化为内部可识的CommandMessage------------>由MemcachedCommandHandler根据CommandMessage中的cmd成员分辨具体的功能调用CacheImpl相应的方法处理----------->

FSQueue实现具体数据的增删改队列等---------->处理结果再由MemcachedBinaryResponseEncoder或MemcachedResponseEncoder进行编码-------->由netty发送给客户端。

 

分享到:
评论

相关推荐

    大型应用系统架构设计与优化 高性能队列Fqueue的设计和使用实践 共25页.pptx

    【大型应用系统架构设计与优化】中的高性能队列Fqueue是一种专门为解决系统性能瓶颈而设计的工具,尤其在处理大量并发写入操作时表现出色。Fqueue的核心特性包括分布式、高可用、支持多队列以及安全性,使得它成为...

    Fqueue高性能、基于磁盘持久存储的队列消息系统

    《Fqueue:高性能、基于磁盘持久存储的队列消息系统》 在IT行业中,队列作为并发处理和异步任务的关键数据结构,被广泛应用于各种系统设计中。Fqueue,顾名思义,是一种专注于高性能和磁盘持久性的队列实现。这款...

    fqueue:自动从code.google.compfqueue导出

    【fqueue:自动从code.google.compfqueue导出】是一个基于Java开发的开源项目,它在Google Code上曾经被托管,现在可能已经被迁移到其他平台或者存档。这个项目主要关注的是提供一种高效、灵活的消息队列实现,适用于...

    基于Java实现的分布式队列系统fqueue设计源码

    该项目为基于Java实现的分布式队列系统fqueue,源码包含273个文件,其中主要文件类型为Java源代码,共计49个文件。此外,还包括SVN版本控制文件、项目配置文件等辅助文件。该系统可用于构建高效、可靠的分布式应用...

    fqueue:从 code.google.compfqueue 自动导出

    #FQueue介绍#labelsIntroductionFQueue是一个高性能、基于磁盘持久存储的队列消息系统。兼容memcached协议,能用memcached的语言都可以良好的与它通信。FQueue为你提供一个不需要特别优化,高性能的一个消息系统。...

    PyPI 官网下载 | fqueue-0.0.2.tar.bz2

    资源来自pypi官网。 资源全名:fqueue-0.0.2.tar.bz2

    fqueue:用于排队函数执行以处理异步流和单步执行函数的微插件

    队列fqueue 是一个微插件,用于排队函数执行以处理异步流和单步执行函数。 支持在队列初始化后添加或删除函数。 支持存储可用于该队列内所有功能的数据支持并行和串行异步调用。 完全控制队列,如停止、启动(从任何...

    angular-fqueue:用于 AngularJS 的固定大小数组(固定队列)的 Javascript 实现

    bower install angular-fqueue 新产品管理 npm install angular-fqueue 依赖关系 FixedQueue 仅依赖于 Angular。 用法 将“fqueue”添加为您的应用程序的依赖项,并将 FixedQueue 注入您的控制器或服务。 ...

    BlockingFQueue:基于磁盘持久存储的阻塞队列(Fast and Persistent Blocking Queue)

    **二、磁盘持久化存储** 传统的内存中的阻塞队列在系统崩溃或重启后,队列中的数据会丢失。而`BlockingFQueue`通过将数据存储在磁盘上,实现了数据的持久化。这意味着即使系统出现故障,重启后队列中的数据也能被...

    消息中间件常用的jar包

    2. **FQueue**:FQueue可能是指FastQueue,这是一个高性能、分布式的消息队列服务,适用于大规模数据处理场景。它的设计目标是提供低延迟、高吞吐量的特性,尤其适合实时数据处理和大数据流应用。 3. **Netty**:...

    Delphi XE5为FireMonkey TImage控件添加一个图片缓冲功能

    接下来,我们定义了 TImageLoader 类,该类继承自 TObject 类,包含一个私有变量 fQueue,用于存储 TLoadQueue 对象;一个私有变量 fWorker,用于存储 TTimer 对象,用于处理队列中的图片;一个私有变量 fActiveItem...

    开源MQ技术介绍

    2. **Fqueue**:一款基于Rust语言开发的轻量级消息队列。 3. **ActiveMQ**:Apache下的一个高度活跃的项目,支持多种消息协议,如STOMP、AMQP等。 4. **Apollo**:阿里巴巴的一款分布式配置中心,虽然不是专门的消息...

    索引队列-C#中的自定义队列

    rp=%2FKB%2Frecipes%2F5252993%2FQueue.zip&download=true",我们可以推测这可能是一个关于如何创建和使用索引队列的教程或代码示例。"IndexedQueue"可能是自定义队列类的名称,而"LogOn.aspx"链接可能指向一个在线...

Global site tag (gtag.js) - Google Analytics