系统说明书 文章模板

Compass 1.0系统说明

-- hd [2004-08-18 00:56:44]

系统概述

Compass即Open Global Name Service(开放全局名称服务,以下简称OpenGNS)协议的实现,为OpenUSS(开放统一存储服务)提供7*24可持续运行的支持基础。本文档用以说明Compass的系统功能、结构和整体框架,以及相关开发、使用的信息

Compass是一个名称指向的统称,它是由一系列的服务器硬件和服务器、客户机软件构成的名称指向系统Compass必须依靠可持续运行的系统架构基础进行部署,并将所有的服务器改造为支持该系统架构的机制,才可以真正实现它的目标。只是在现有系统中安装Compass并不能解决任何问题。为解决大容量系统中的多层、多台、多级依赖的情况下系统管理和单点故障的问题。

它的应用主要有:

Compass在系统中的体现主要有以下内容:

准确的来说Compass为可能拥有大量服务器的应用系统提供了低成本、高可扩展性、高可用性的基础服务。由于Compass的特点,在设计时应特别关注以下问题:

系统功能

Compass会分布在所有与系统应用相关的服务器上。不理会其架构,我们先阐述清楚Compass有什么样的功能。以下只要谈到服务,哪么就是一个在应用系统中需要关注的、它的运行装态会与别的服务紧密相关的程序。一台服务器可能运行多个服务,一台服务器也可能只运行一个服务。但我们不会理会一个服务运行于多台服务器上的情况,这种情况只会是使用集群技术,这时我们将这一群机器只会视为一台服务器。

以下为系统用例视图:

usercase.png

系统处理流程

分区管理

我们将一个功能块命名为一个分区。一个分区代表提供同类服务的服务器群,它是一个逻辑上的定义。

新增分区

seq1_1.png

修改分区

seq1_2.png

删除分区

seq1_3.png

服务器管理

我们将提供一个服务内容的一组服务称为服务器,一个服务器代表着一组提供相同内容、相同功能的服务的群体,它同样是一个逻辑上的定义。

新增服务器

seq2_1.png

修改服务器

seq2_2.png

删除服务器

seq2_3.png

服务管理

我们将提供一个具体的网络服务的Daemon称之为一个服务,一个服务代表着一个基本的服务单元,一台服务的服务器可以提供多个服务。

新增服务

seq3_1.png

修改服务

seq3_2.png

删除服务

seq3_3.png

服务注册

任何一个服务在启动时,都有义务向Compass服务器通知其在线工作。通过向Compass服务器的通知,就使得应用系统中增加了一个服务。另一方面,Compass的管理器也可以手工的向系统注册一个服务。 Compass对服务登录将会产生一条服务更新日志,其中的信息会有:

如果服务校验码不通过,则会产生一条认证安全日志:

服务登录

seq4_1.png

服务注册

seq4_2.png

服务注销

Compass Client在正常停止服务前或停止服务时,应向Compass服务器发出服务注销指令。在服务注销功能完成后,GNS会调用“服务变更通知”功能。以向依赖本类服务的服务通知服务的注销。另一方面,Compass的管理器也可以手工的向系统注销一个服务。 Compass服务器将会产生一条服务更新日志,其中的信息会有:

如果服务校验码不通过,则会产生一条认证安全日志:

seq5_1.png

分区依赖管理

分区依赖管理用于对分区间的依赖关系进行管理。

增加依赖关系

seq6_1.png

删除依赖关系

seq6_2.png

服务查询

一个Compass Client也就是一个服务在启动后,就一定需要知道他要使用的分区和分区中的服务器到底有哪些服务,它就需要向Compass发出请求,查询出所有可以使用的服务。

seq7_1.png

服务报警

当一个服务A在使用另外一个服务B时,发现服务B出现问题,这时服务A就会向Compass服务器发出警报,说明服务B的失效,Compass服务器会寻找所有依赖服务B的分区中的服务进行通知,告知服务B的失效。

seq8_1.png

系统静态结构和动态结构

系统静态结构

系统动态结构

系统模块及结构

系统外部接口与外部系统

Compass/CompassSysfile (last edited 2009-12-25 07:14:22 by localhost)