300 likes | 419 Views
mooon introduction. 飞月 QQ 群: 70457399. http://code.google.com/p/mooon. 内容提纲. 项目背景. 设计理念. 分层结构. 基础类库. 公共组件-Server. 公共组件-Dispatcher. 公共组件-Agent. 公共组件-Observer. 公共组件-HttpParser. 分布式平台. 消息调度器. 编程模式. 应用前景. Page 2. 背景. 未雨绸缪,掌握未来的主动权. 1. Page 3. 系统概述. 一个 开源 分布式基础平台. 简洁高效.
E N D
mooon introduction 飞月 QQ群:70457399 http://code.google.com/p/mooon
内容提纲 项目背景 设计理念 分层结构 基础类库 公共组件-Server 公共组件-Dispatcher 公共组件-Agent 公共组件-Observer 公共组件-HttpParser 分布式平台 消息调度器 编程模式 应用前景 Page 2
背景 未雨绸缪,掌握未来的主动权 1 Page 3
系统概述 • 一个开源分布式基础平台 • 简洁高效 严格的职责划分,简单的数据结构,成就mooon的简洁高效 • 可扩展可运营 横纵有致,松散而紧凑的结构设计,成就mooon的可扩展可运营 Page 4
细节决定品质 细节不一定决定成败,但一定决定品质 1 Page 5
设计理念 简单,为王 基本设计原则 单一职责 (SRP) 开放封闭 (OCP) 替换原则 (LSP) 依赖倒置 (DIP) 接口隔离 (ISP) Page 6
mooon – 分层结构 领域平台A 领域平台B 领域平台C 分布式平台 公共组件 基础类库 操作系统 http://code.google.com/p/mooon Page 7
基础类库 与网络相关的 CEPoller、CTcpClient、Clistener、网络工具. net 与系统相关的 线程(池)、锁、事件队列、系统工具、系统信息、日志器、main函数模板、对象池/内存池. sys 通用数据结构、算法等 数组队列、字符串工具、命令行参数解析、列表队列、CTokenList. util 不输出日志,错误以异常方式抛出 1 Page 8
公共组件 与基础类库的区别:通常包含了复杂的逻辑,而且会有日志输出;公共组件基于基础类库实现。 Agent Observer Server HttpParser Add your text in here 公共组件 ClustUtil 。。。 Dispatcher Page 9
公共组件 - Server应用场景 Page 10
公共组件 - Server工作原理 Page 11
公共组件 - Server结构 Page 12
公共组件 - Dispatcher应用场景 • 压力和性能测试工具 • 消息广播和消息分发 Page 13
公共组件 - Dispatcher工作原理 Page 14
公共组件 - Dispacher结构 Page 15
公共组件 - Agent应用场景 通用的主从结构通讯框架 系统资源采集和提供窗口 运行状态数据采集窗口 进程对外门户通用解决方案 Page 16
公共组件 - Agent结构 Page 17
公共组件 - Observer结构 立体化监控 Page 18
公共组件 - Observer效果 状态数据格式: 数据采集间隔:10秒 [日期时间] [状态集代码] [状态集名称] 成功接受的连接个数 接受失败的连接个数 主动关闭的连接个数 被动关闭的连接个数 溢出的连接个数 异常的连接个数 已接收的数据字节数 已发送的数据字节数 保持长连接的次数 [2011-11-11 11:11:01][0x1111][server]1000,0,900,100,0,0,1111,1111,0 [2011-11-11 11:11:11][0x1111][server]1111,0,201,240,0,0,1111,1111,0 [2011-11-11 11:11:21][0x1111][server]700,0,50,10,0,0,1111,1111,0 [2011-11-11 11:11:31][0x1111][server]890,0,900,100,0,0,1111,1111,0 [2011-11-11 11:11:41][0x1111][server]60,0,900,100,0,0,1111,1111,0 [2011-11-11 11:11:51][0x1111][server]9,0,900,100,0,0,1111,1111,0 [2011-11-11 11:12:01][0x1111][server]983,0,900,100,0,0,1111,1111,0 [2011-11-11 11:12:11][0x1111][server]340,0,900,100,0,0,1111,1111,0 [2011-11-11 11:12:21][0x1111][server]634,0,900,100,0,0,1111,1111,0 [2011-11-11 11:12:31][0x1111][server]4567,0,900,100,0,0,1111,1111,0 [2011-11-11 11:12:41][0x1111][server]482,0,900,100,0,0,1111,1111,0 [2011-11-11 11:12:51][0x1111][server]576,0,900,100,0,0,1111,1111,0 [2011-11-11 11:13:01][0x1111][server]356,0,900,100,0,0,1111,1111,0 [2011-11-11 11:13:11][0x1111][server]893,0,900,100,0,0,1111,1111,0 [2011-11-11 11:13:21][0x1111][server]468,0,900,100,0,0,1111,1111,0 Page 19
公共组件 - Observer数据采集 Page 20
公共组件 - HttpParser HTTP数据包解析器 请求包: 响应包: GET http://www.hadoopor.com/ HTTP/1.1 Accept: text/html, application/xhtml+xml, */* Accept-Language: zh-CN User-Agent: Mozilla/5.0 Accept-Encoding: gzip, deflate Proxy-Connection: Keep-Alive Host: www.hadoopor.com HTTP/1.1 200 OK Date: Wed, 16 Nov 2011 08:26:05 GMT Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET X-Powered-By: PHP/5.2.17 Set-Cookie: expires=Wed, 23-Nov-2011 08:26:05 GMT Content-Type: text/html X-Cache-Lookup: MISS from proxy:1080 Transfer-Encoding: chunked Page 21
公共组件 - HttpParser结构 Page 22
mooon – 分布式平台 Page 23
mooon – 平台架构 Page 24
mooon – 平台特性 业务运行在独立的进程中 立体化的状态数据 Session线程绑定 新旧版本同时在线 微内核 业务进程 高效的 消息调度 平台 特性 简单 多线程编程 透明化运行 无缝 服务热升级 Page 25
mooon – 消息调度器 MOID - mooon object ID Page 26
编程模式 Page 27
应用前景 高性能服务集群 各种后台服务器 分布式业务系统 1. 分布式工作流引擎 2. 分布式协作系统 海量数据平台 • 大规模数据存储 • 大规模数据实时计算 • 大规模数据离线处理 Page 28
应用示例 从这里开始, 不一样的精彩! 敬请期待。。。 有您更精彩!! Page 29
欢迎加入 欢迎加入