上一篇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是一种专门为解决系统性能瓶颈而设计的工具,尤其在处理大量并发写入操作时表现出色。Fqueue的核心特性包括分布式、高可用、支持多队列以及安全性,使得它成为...
《Fqueue:高性能、基于磁盘持久存储的队列消息系统》 在IT行业中,队列作为并发处理和异步任务的关键数据结构,被广泛应用于各种系统设计中。Fqueue,顾名思义,是一种专注于高性能和磁盘持久性的队列实现。这款...
【fqueue:自动从code.google.compfqueue导出】是一个基于Java开发的开源项目,它在Google Code上曾经被托管,现在可能已经被迁移到其他平台或者存档。这个项目主要关注的是提供一种高效、灵活的消息队列实现,适用于...
该项目为基于Java实现的分布式队列系统fqueue,源码包含273个文件,其中主要文件类型为Java源代码,共计49个文件。此外,还包括SVN版本控制文件、项目配置文件等辅助文件。该系统可用于构建高效、可靠的分布式应用...
#FQueue介绍#labelsIntroductionFQueue是一个高性能、基于磁盘持久存储的队列消息系统。兼容memcached协议,能用memcached的语言都可以良好的与它通信。FQueue为你提供一个不需要特别优化,高性能的一个消息系统。...
资源来自pypi官网。 资源全名:fqueue-0.0.2.tar.bz2
队列fqueue 是一个微插件,用于排队函数执行以处理异步流和单步执行函数。 支持在队列初始化后添加或删除函数。 支持存储可用于该队列内所有功能的数据支持并行和串行异步调用。 完全控制队列,如停止、启动(从任何...
bower install angular-fqueue 新产品管理 npm install angular-fqueue 依赖关系 FixedQueue 仅依赖于 Angular。 用法 将“fqueue”添加为您的应用程序的依赖项,并将 FixedQueue 注入您的控制器或服务。 ...
**二、磁盘持久化存储** 传统的内存中的阻塞队列在系统崩溃或重启后,队列中的数据会丢失。而`BlockingFQueue`通过将数据存储在磁盘上,实现了数据的持久化。这意味着即使系统出现故障,重启后队列中的数据也能被...
2. **FQueue**:FQueue可能是指FastQueue,这是一个高性能、分布式的消息队列服务,适用于大规模数据处理场景。它的设计目标是提供低延迟、高吞吐量的特性,尤其适合实时数据处理和大数据流应用。 3. **Netty**:...
接下来,我们定义了 TImageLoader 类,该类继承自 TObject 类,包含一个私有变量 fQueue,用于存储 TLoadQueue 对象;一个私有变量 fWorker,用于存储 TTimer 对象,用于处理队列中的图片;一个私有变量 fActiveItem...
2. **Fqueue**:一款基于Rust语言开发的轻量级消息队列。 3. **ActiveMQ**:Apache下的一个高度活跃的项目,支持多种消息协议,如STOMP、AMQP等。 4. **Apollo**:阿里巴巴的一款分布式配置中心,虽然不是专门的消息...
rp=%2FKB%2Frecipes%2F5252993%2FQueue.zip&download=true",我们可以推测这可能是一个关于如何创建和使用索引队列的教程或代码示例。"IndexedQueue"可能是自定义队列类的名称,而"LogOn.aspx"链接可能指向一个在线...