1 / 7

案例 - SQS 的新生

案例 - SQS 的新生. 蓝金伟 (lanjinwei@gmail.com). Opensqs 的设计目标. Opensqs 架构. 这 是物理上的系统结构图 Qclient / Qmaster / Qnode 都是不同物理机上的进程 Qclient 是客户端程序 Qmaster 是 OPENSQS 系统节点和队列管理集群 Qnode 是 OPENSQS 系统队列消息服务集群. 设计思路. 构建在一些成熟的技术之上 开发语言 选用 c++ 底层存储库 选用 Bdb 服务器框架 选用 libevent 协议层选用 protobuf

iokina
Télécharger la présentation

案例 - SQS 的新生

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 案例 -SQS的新生 蓝金伟(lanjinwei@gmail.com)

  2. Opensqs的设计目标

  3. Opensqs架构

  4. 这是物理上的系统结构图 • Qclient/Qmaster/Qnode都是不同物理机上的进程 • Qclient是客户端程序 • Qmaster是OPENSQS 系统节点和队列管理集群 • Qnode是OPENSQS 系统队列消息服务集群

  5. 设计思路 • 构建在一些成熟的技术之上 • 开发语言 选用 c++ • 底层存储库 选用 Bdb • 服务器框架 选用 libevent • 协议层选用 protobuf • 系统内对象主要包括 节点/队列/消息 • 基于节点/队列 变更少,数据可靠性要求高的特点 • 参照 Chubby 系统设计实现 分布式节点管理系统 (Qmaster) • 该系统由多个互为备份的节点组成,是系统/节点/队列 当前状态的唯一维护者, • 当前只有一个节点服务,其他节点备份,每次系统内的 系统/节点/队列 变更, • 按分布式协议将变更备份到可靠数目的节点上,服务节点失效立即选举产生新的服务节点 • Qmaster还包括系统内自维护功能,包括自动扩展,垃圾回收等等, • 总之,Qmaster是系统真正的可靠的脑袋,是系统控制器,控制其他工作节点工作 • 基于 消息 操作的并发大,响应要求高的特点 • 每个队列的服务会定位在一个特定工作节点上(Qnode),客户端寻址到服务节点(Qnode)后,直接和该节点做消息操作, 该节点也只负责响应客户端 和 根据 Qmaster的指令做系统维护,自己不存在智能, 这种简单设计减少其复杂性,做到 高效 并且随时方便的 加入和退出

  6. Opensqs的进展

More Related