标签:
消息系统的作用:异步处理、削减峰值、减少组件之间的耦合。
选择消息系统根据业务需要需要考虑以下几个方面:
由于优先考虑吞吐,更加适合大数据量的消息收集和处理,比如日志分析、用户行为信息实时报表、集群状态信息收集和分析。
http://www.mail-archive.com/kafka-users@incubator.apache.org/msg02082.html
https://github.com/neophenix/StateOfTheMQ/blob/master/state_of_the_mq.pdf?raw=true
http://s.urge.omniti.net/i/content/slides/Surge2012-ErikOnen_Kafka_Messaging-Paradigms.pdf
http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf
http://dirlt.com/kafka.html
http://dirlt.com/index.html
http://wiki.secondlife.com/wiki/Message_Queue_Evaluation_Notes
无中心设计、节点自动注册和发现。可以考虑作为内部通讯框架的基础。
https://github.com/bitly/nsq
* 追求简单部署
* 追求高可用、避免单点故障、无中心设计
* 确保消息送达
* 生产者消费者自动发现、消费者连接所有生产者、向消费者推的模式
* 提供 HTTP 接口
https://speakerdeck.com/snakes/nsq-nyc-golang-meetup
https://github.com/davegardnerisme/nsqphp
http://www.davegardner.me.uk/blog/tag/nsq/
https://github.com/kr/beanstalkd/wiki/Tools
https://github.com/pda/pheanstalk
需要自己封装 Pub/Sub
只适合不需要持久化的场景、需要自己封装
http://memcachedb.org/memcacheq/
https://code.google.com/p/httpsqs/
http://gearman.org/presentations
https://code.google.com/p/shard-query/
http://robey.github.io/kestrel/
http://robey.github.io/kestrel/docs/guide.html
性能差不考虑[3]
3800 jobs/s 入队列 300 jobs/s 出队列
https://github.com/blog/542-introducing-resque
基于 Redis 的消息队列
https://github.com/starling/starling
https://code.google.com/p/squirrel-message-queue/
https://code.google.com/p/sparrow/
ActiveMQ crashed constantly under load.
http://stomp.github.io/stomp-specification-1.2.html
http://hiramchirino.com/stomp-benchmark/ec2-c1.xlarge/index.html
https://blog.serverdensity.com/queueing-mongodb-using-mongodb/
[3] http://x-aeon.com/wp/2013/04/10/a-quick-message-queue-benchmark-activemq-rabbitmq-hornetq-qpid-apollo/
https://news.ycombinator.com/item?id=5531192
http://www.javaplex.com/blog/high-performance-message-queues-get-reviewed/
http://adam.heroku.com/past/2010/4/24/beanstalkasimpleandfastqueueingbackend/
标签:
原文地址:http://www.cnblogs.com/zoucaitou/p/4675755.html