随笔分类 - MQ
摘要:Kafka设计的初衷是迅速处理短小的消息,一般10K大小的消息吞吐性能最好(可参见LinkedIn的kafka性能测试)。但有时候,我们需要处理更大的消息,比如XML文档或JSON内容,一个消息差不多有10-100M,这种情况下,Kakfa应该如何处理?针对这个问题,有以下几个建议: 不过如果上述方
阅读全文
摘要:此文是rocketmq作者vintage.wang所写,对于每项对比,后面都增加了我的观点,有不对的地方,请各位指出。 淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Li
阅读全文
摘要:前言 今天是个开心的日子,又是周末,可以轻轻松松的写写文章了。去年,我写了ENode 1.0版本,那时我也写了一个分析系列。经过了大半年的时间,我对第一个版本做了很多架构上的改进,最重要的就是让ENode实现了分布式,通过新增一个分布式消息队列EQueue来 实现。之所以要设计一个分布式的消息队列是
阅读全文
摘要:上一篇介绍了基于ZK的ActiveMQ HA方案,虽然理解起来比较容易,但是有二个不足: 1) 占用的节点数过多,1个zk集群至少3个节点,1个activemq集群也至少得3个节点,但其实正常运行时,只有一个master节点在对外响应,换句话说,花6个节点的成本只为了保证1个activemq mas
阅读全文
摘要:a. Producer到broker 把request.required.acks设为1,丢会重发,丢的概率很小 b. Broker b.1 对于broker,落盘的数据,除非磁盘坏了,不会丢的 b.2 对于内存中没有flush的数据,broker重启会丢 可以通过log.flush.interva
阅读全文
摘要:一般的将数据从文件传到套接字的路径:操作系统将数据从磁盘读到内核空间的页缓存中;应用将数据从内核空间读到用户空间的缓存中;应用将数据写回内存空间的套接字缓存中操作系统将数据从套接字缓存写到网卡缓存中,以便将数据经网络发出;这样做明显是低效的,这里有四次拷贝,两次系统调用。如果使用sendfile(J
阅读全文