消息队列
张包峰
Distributed Computing
展开
-
Beanstalkd队列 概述
本文对beanstalkd的介绍简短精炼,适合初次接触消息队列并想使用beanstalk的人。在我看过的一些介绍资料里,这篇文章介绍地最为精炼,本文大多内容修改自它:P。我也是第一次接触消息队列,使用beanstalkd的原因是组里比较资深的经理推荐,说道beanstalkd在某些大公司内都会使用,很轻量级,性能很高(是纯C写的)。 同RabbitMQ,ZeroMQ相比,Beanstalkd是一个更加轻量级的消息队列,也可以理解为是一个工作队列,本质上是基于多个tube的workqueue,queue里存放原创 2013-12-26 20:36:50 · 11366 阅读 · 0 评论 -
最近分布式系统开发小结
最近在设计和开发一个分布式系统的流式处理模块,整个系统用于跨集群、跨机房搬运不同数据源内的数据到另一份或多份数据源上,包括HDFS、MySQl、MongoDB、FTP等。功能比较像Hadoop的Sqoop,但是能扩展支持更多的数据源,且本身是个集群部署,不像Sqoop需要依赖Hadoop的MR。 我们整个cluster的资源管理借助Mesos来完成,由自己定制的Mesos Scheduler向Mesos Master申请可用的资源,具体把数据搬运的任务分发到Mesos Slave的Executor上,而我主原创 2013-12-27 22:19:12 · 4549 阅读 · 7 评论 -
Kafka介绍
传统的消息模型有两种模型,队列模型和发布-订阅模式。 1. 队列形式中,一群消费者可能从server那边读消息,而每条消息会流向他们中的一个。 2. 发布-订阅模式中,消息会广播到所有它的消费者们那。 Kafka是使用consumer group这个概念(下面把它翻译为"消费组"),把两者结合了。。 消费者给自己标志了一个消费组名,每条新发布到topic的消息会被传递给订阅它的消费组里的消费者实例,这些消费者实例可以是不同的进程,存在在不同的机器上。 如果所有的消费者在同一个消费组里,那么这相当于是原创 2014-05-20 17:29:18 · 5630 阅读 · 0 评论 -
最近分布式系统开发小结: Slave模块Executors设计
Slave模块三种Executor的设计,主要考虑的是各个Executor挂掉之后,怎样保证数据处理的不重复和不遗漏。我们依赖Zookeeper的可靠性,记录、更新、判断Bundle的状态,做到Input、Cache、Output各司其职,最到最小粒度的容错。Executor本身的失败和重启则由Mesos保障,Mesos作为资源管理系统,由Master监控Slave上各个Executor的执行状况,通过回调,可以在合适的Slave上再次启动挂掉的Executor进程,保证业务Task的顺利进行。原创 2014-01-07 12:14:25 · 3853 阅读 · 0 评论