[list]
[*]
关于gearman综合大家的话:
通常,多语言多系统之间的集成是个大问题,一般来说,人们多半会采用WebService的方式来处理此类集成问题,但不管采用何种风格的 WebService,如RPC风格,或者REST风格,其本身都有一定的复杂性。相比之下,Gearman也能实现类似的作用,而且更简单易用。
一个Gearman请求的处理过程涉及三个角色:Client -> Job -> Worker。
Client:请求的发起者,可以是C,PHP,Perl,MySQL UDF等等。
Job:请求的调度者,用来负责协调把Client发出的请求转发给合适的Work。
Worker:请求的处理者,可以是C,PHP,Perl等等。
因为Client,Worker并不限制用一样的语言,所以有利于多语言多系统之间的集成
gearman另一个应用方面是负载分担,你可以将worker放在不同的服务器(或者一些列服务器)上,比如你的php程序需要图片转换,但是不希望本 地服务器有太多的这样图片转换的进程,那么你可以建立一系列服务器,在上面加载worker处理图片转换。这样你的web服务器将不受图片转换的影响,同 时你得到了负载均衡的功能,因为jobserver会在请求到来的时候,将这个请求发给空闲的worker.同样对于多核的服务器,你可以在同一机器上创 建同样数目的worker.你可能担心,jobserver处于一个中心,那么这会是一个单点的瓶颈,如果死了,会怎么样?对于这样的情况,你可以运行多 个jobserver。这样如果一个jobserver down了,client和worker会自动迁移到另一台jobserver上。
[/list]
分享到:
相关推荐
1. **Gearman介绍**: 齿轮人是一个通用的作业调度框架,它允许将任务分发到多台机器上执行,以实现负载均衡和并发处理。通过提供一个简单的API,齿轮人可以轻松地集成到各种编程语言中,如C、PHP、Python、Perl、...
1. Gearman的介绍和应用场景: Gearman是一个工作负载分发服务器和库,允许将工作分散到多个机器或者机器上的多个核心上进行异步处理。它在Web应用程序中处理耗时的后台任务时尤其有用,如文件上传、邮件发送、图片...
下面将详细介绍 Gearman 的安装及相关资源。 在 Gearman 的安装过程中,通常会涉及以下几个步骤: 1. **下载源码**:从描述中看到提供了两个版本的 Gearman 源码包,分别是 `gearmand-1.1.12.tar.gz` 和 `gearman-...
而 Gearman 提供了一种更高效的解决方案,通过将任务分解并分发到多个 Worker 进程,实现真正的并行处理,从而提高效率。 Gearman 可以用于各种异步处理任务,例如图片处理、订单处理、批量邮件发送、数据处理、...
齿轮箱包提供用于提交 Gearman 作业的接口的包介绍这个包提供了一个服务来提交 Gearman 作业。 作业是需要实现GearmmanJobInterface对象。安装当然,您需要安装 Gearman 。 假设您已经安装了 composer.phar 或 ...
格曼版本 0.1.0 由 Mike Willbanks 创建介绍mwGearman 是一个处理与 Gearman 扩展接口的模块。 该模块目前可以处理客户端和工作人员的通信并抽象任务处理的部分。 总体目标是一旦 Zend\Console 完成,将工作人员集成...
主要介绍了PHP使用gearman进行异步的邮件或短信发送操作,总结分析了PHP基于gearman实现异步的邮件或短信发送相关配置、启动与操作注意事项,需要的朋友可以参考下
首先,我们来介绍MySQL数据复制系统的策略。MySQL复制系统主要可以实现以下几点策略: 1. 在线数据备份。企业可以专门部署一台slave服务器用于备份。当需要进行数据备份时,可以临时停止该slave上的数据复制进程,...
在依赖组件配置中,我们需要描述系统部署所需的各种组件,例如Active MQ、Gearman等。 * Active MQ 配置:在Active MQ配置中,我们需要检测组件是否安装。如果未安装,需要参考TA文档安装。我们还需要检测组件是否...
本文介绍的分布式负载均衡技术,重点在于引入查询成本指标,通过分析历史查询日志来估计查询代价,并将此信息应用到负载决策中。这样,负载均衡不仅能够更准确地排序,而且能够主动地适应和预判系统负载,找到合适...
主要内容回顾了设计模式、复杂查询和高级正则表达式等必要技术讨论选代和闭包等高级PHP概念使用Gearman说明如何在Web应用程序中执行多任务使用memcached在My SQL和PHP Web应用程序中讨论缓存的使用讨论建立PHP扩展和...
在使用 Gearman 做分布式处理时,各机需要注册一个独立的 job 作为信息反馈,为求方便,Gearman::Worker 脚本 register_function 代码又要通用,于是想到了使用各自的 ip 地址作为 job 命名。 那么怎么在 worker ...
5. **并发与异步处理**:讨论PHP的并发模型,如使用pthreads扩展进行多线程编程,以及如何通过Gearman、RabbitMQ等工具实现消息队列,提升系统响应速度。 6. **PHP框架与性能**:分析常见PHP框架(如Laravel, ...
3. 使用Gearman和Swoole扩展 Gearman是一个分布式的任务队列系统,提供了PHP扩展,支持将任务发送到工作队列中进行处理,从而实现非阻塞的效果。Swoole是一个高性能的PHP异步框架,提供了多线程、协程等多种异步处理...
以上介绍的这些Python包都是在实际开发中常用的工具,了解它们的基本用途和安装方法对于提升开发效率和解决问题具有重要意义。如果你对这些包的应用有更多的兴趣,可以继续探索它们的文档和示例,进一步深化理解。
- **基础类**:项目中常用的基础类介绍。 - **MVC**:模型-视图-控制器架构模式的应用。 - **URL处理**:URL解析和路由机制。 - **输入处理**:用户输入数据的安全处理方法。 - **错误异常处理**:错误和异常的...
- **升级组合**:Nginx和HAProxy作为负载均衡器,Redis和Memcached作为缓存层,Postgres和Gearman作为数据库和服务管理工具,Django仍然是Web框架。 - **24小时运维**:为了确保系统的稳定运行,团队需要进行24小时...