WEB开发网
开发学院软件开发Java 跨多种环境部署 Gearman 阅读

跨多种环境部署 Gearman

 2010-10-09 08:13:21 来源:WEB开发网   
核心提示: 图 1. Gearman 服务概要Gearmand 服务器执行一个简单的功能,即从客户机收集工作请求并充当一个注册器(工人可以在此提交关于它们支持的工作和操作类型的信息),跨多种环境部署 Gearman(2),在传统的网格服务中,网格节点由管理服务器指派给特定的任务和给定的工作,它们是您创建客户

图 1. Gearman 服务概要
跨多种环境部署 Gearman

Gearmand 服务器执行一个简单的功能,即从客户机收集工作请求并充当一个注册器(工人可以在此提交关于它们支持的工作和操作类型的信息)。在传统的网格服务中,网格节点由管理服务器指派给特定的任务和给定的工作,在 Gearman 中与此不同,是由工人请求做工作。

这一重要区别意味着,关于哪个工人做哪项工作的决定不是必需的。在分布工作时,没有配置、优先次序或者需要的其他组织。相反,系统的特点是,自运行的和自管理的,对于很多安装,这里最初要描述的基本结构都不复杂。

Gearman 样例

了解 Gearman 如何工作最容易的方式是,尝试一个使用 Gearman 服务的简单应用程序。您将为本例中的工人和客户机要素使用 Perl,但是有必要指出来,您也可以混用及搭配多种语言以充分发挥特定环境的优势。

首先,必须让 gearmand 服务器运行起来。为此,您可以下载源代码、运行配置脚本并运行服务器;需要用到 libevent 库。很多 Linux® 发行版也具有执行安装的 Gearman 组件,无需手工处理。

安装完成后,利用 -vv 命令行选项阅读服务,了解您开始使用时服务器在做什么。

对于客户机和工人组件,需要安装 Gearman CPAN 模块,其中包括 Gearman::Client 和 Gearman::Worker 模块,它们是您创建客户机和工人时需要用到的模块。

对于一个简单的工人,我们提供一个基本的单词计数功能。

清单 1. 简单的 Gearman Worker

use Gearman::Worker; 
my $worker = Gearman::Worker->new; 
$worker->job_servers('192.168.0.2:4730'); 
$worker->register_function('wordcount' => \&wordcount); 
$worker->work while 1; 
 
 
sub wordcount 
{ 
  my ($input) = @_; 
 
  my @words = split /\s+/,$input->arg; 
 
  return (scalar @words); 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:多种 环境 部署

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接