大型的 PHP应用 ,通常使用什么应用做 消息队列 的?

WBOY
发布: 2016-09-24 09:04:04
原创
1687 人浏览过

一直在用Redis 做消息队列,忽然想到,会不会有更好的呢?

回复内容:

我们用beanstalk,qps1000左右 如果是单纯做队列服务建议beanstalkd(小巧、性能好),如果考虑到高可用、海量可以用kafka。 不如你先指出现有方案有哪些方面不不够好。 感觉这个问题和 PHP 没啥关系?消息队列选型更多考虑业务的场景:

* 性能,比如每秒有多少消息啊,如果你每秒有几万的消息量,那 Beanstalk、RabbitMQ 之列的就不能拿来直接用了。
* 可靠性,消息是否允许丢失?是否需要持久化?
* 高可用,是否可以容忍宕机?
* 是否需要分布式
* 运维成本,你们公司的开发(运维)是否有能力维护好这个消息队列
* 客户端支持,这个才是语言层面的东西。比如 Kafka 是个很好的消息队列,但是他的 PHP 客户端写的不太好,自己重新写也比较难,那么在选型的是否就要慎重。

在权衡这些因素以后,才能决定如何选择。
有哪些消息队列: Message queue
性能对比:bravenewgeek.com/dissec redis,rabbitmq 用redis,rabbitmq这两个 这个要看你的应用场景,一般来说用redis比较简单,但是redis不能实现消息没有正常处理,其他进程仍然能够处理这个消息的情况,也就是没有对消息有一个处理完成确认的过程。
如果要完整的消息队列,用过的有:gearman,rabbitmq, 都是不错的。 php-resque gearman。如果要求跨网络不丢消息还可以选择kafka workerman
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!