当前位置:  开发笔记 > 编程语言 > 正文

格式化排队消息的最佳方法是什么?

如何解决《格式化排队消息的最佳方法是什么?》经验,为你挑选了1个好方法。

我最近一直在阅读消息排队,我想为我的应用程序实现一个简单,可扩展的系统.虽然关于设置MQ系统的主题有很多很好的信息,但我找不到很多关于实际实现的信息.

我正在寻找关于如何正确格式化队列消息的模式和最佳实践,以及在PHP中执行作业的方法.我应该使用JSON,序列化对象,文本,URL还是XML?我应该发送什么信息?是一个有switch($job['command']) {}(或类似的东西)的工人要走的路,或者是否有任何已建立的模式来实现工人?

非常感谢!



1> Gordon..:

您可以在PHP中选择以下任何MQ实现,因此您不必自己动手,您可以查看其源代码以了解它们的实现.对于常规集成,请查看Enterprise Integration模式上的ActiveMQ页面.

http://sourceforge.net/projects/beanstalk/

beanstalkd的PHP客户端库.BeanStalk允许PHP开发人员使用beanstalkd内存中的工作队列服务器(http://xph.us/software/beanstalkd).

http://kr.github.com/beanstalkd/

Beanstalk是一种简单,快速的工作队列服务.它的界面是通用的,但最初设计用于通过异步运行耗时的任务来减少高容量Web应用程序中页面视图的延迟.

http://activemq.apache.org/

Apache ActiveMQ是最流行和最强大的开源消息传递和集成模式提供程序.Apache ActiveMQ速度快,支持许多跨语言客户端和协议,带有易于使用的企业集成模式和许多高级功能,同时完全支持JMS 1.1和J2EE 1.4.Apache ActiveMQ是在Apache 2.0许可下发布的

http://memcachedb.org/memcacheq/

Memcachedb是一个专为持久性而设计的分布式键值存储系统.它不是缓存解决方案,而是用于高频写入和读取的持久存储.它符合memcache协议(未完成,见下文),因此任何memcached客户端都可以与它连接.Memcachedb使用Berkeley DB作为存储后端,因此支持许多功能,包括事务和复制.

http://www.zend.com/en/products/server/

Zend Server 5.0集成了作业队列,为创建,执行和管理作业提供全面支持,以优化应用程序性能并减少服务器负载,最大限度地减少应用程序瓶颈并改善最终用户体验.

https://www.dropr.org/

dropr是一个用PHP编写的分布式消息队列框架.主要目标是:

可靠耐用(故障安全) - 通过网络进行消息传递

没有单个(故障点)服务器实例的分散式架构

易于安装和使用

队列存储和消息传输的模块化(目前实现文件系统存储和卷曲上传)

http://gearman.org/

Gearman提供了一个通用的应用程序框架,可以将工作分配给更适合工作的其他机器或进程.它允许您并行工作,负载均衡处理以及在语言之间调用函数.

http://www.zeromq.org/

ØMQ(也称为ZeroMQ,0MQ或ZMQ)是一个高性能的异步消息库,旨在用于可扩展的分布式或并发应用程序.它提供了一个消息队列,但与面向消息的中间件不同,ØMQ系统可以在没有专用消息代理的情况下运行.该库旨在具有熟悉的套接字式API.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有