读书人

Beanstalkd 一个高性能分布式内存储器

发布时间: 2014-04-18 13:40:30 作者: rapoo

Beanstalkd 一个高性能分布式内存队列系统

之前在微博上调查过大家正在使用的分布式内存队列系统,反馈有Memcacheq,Fqueue,?RabbitMQ?,?Beanstalkd以及linkedin的kafka。RabbitMQ使用比较广泛,Beanstalkd是后起之秀。Beanstalkd之于RabbitMQ,就好比Nginx之于Apache,Varnish之于Squid。后面在项目中使用Beanstalkd的过程中,更发现其简单、轻量级、高性能、易使用等特点,以及优先级、多队列、持久化、分布式容错、超时控制等特性。下面就简单介绍一下Beanstalkd,不足之处请大家指正。

-----------------------------------------------正文分割线-------------------------------------------------

设计思想

高性能离不开异步,异步离不开队列,而其内部都是Producer-Comsumer模式的原理。
Beanstalkd 一个高性能分布式内存储器队列系统

Beanstalkd 一个高性能分布式内存储器队列系统

图1 Producer-Comsumer模式

应用

Beanstalkd,一个高性能、轻量级的分布式内存队列系统,最初设计的目的是想通过后台异步执行耗时的任务来降低高容量Web应用系统的页面访问延迟,支持过有9.5 million用户的Facebook Causes应用。后来开源,现在有PostRank大规模部署和使用,每天处理百万级任务。Beanstalkd是典型的类Memcached设计,协议和使用方式都是同样的风格,所以使用过memcached的用户会觉得Beanstalkd似曾相识。

核心概念

Beanstalkd设计里面的核心概念:

读书人网 >开源软件

热点推荐