Kafka和RocketMQ的一点对比总结

1. 介绍

Kafka和RcoketMQ是市面上比较主流的分布式消息队列。本文对他们做一番对比。如果对MQ还不是很熟悉的,可以先看看他们的文档,再来看本文。

2. MQ系统的关键问题——如何处理消息有序、消息重复

2.1 消息有序

Kafka和RocketMQ都不支持严格的消息有序。他们都仅仅保证在一个topic分区(队列)中是有序的。当然如果只使用一个分区或者队列来提供消费,性能肯定是比较差的了。

十分钟入门RocketMQ里面说RocketMQ支持严格消息有序。我觉得可能是指的生产者把消息发往一个队列中。 如果是这样的话,不能算是MQ的严格有序,因为牺牲了太多性能。......

kafka压力测试

1. 介绍

最近kafka集群要换机房了。为了确保新环境正常,我们来做一些压力测试。这次压力测试重点会关注一些异常情况下,kafka收发消息的状况。

2. 基本信息

3台broker,使用kafka0.10.1版本,每台broker使用6T硬盘,内存100G。broker配置按照官方文档推荐的生产配置来配置。

3. broker挂掉的情况

3.1 整个broker集群挂掉

这个同事做过测试,所以这里直接放结论了:

即使设置了acks=all,但是如果整个集群都连接不上了,也是不能避免消息丢失的(重发次数到了设定的值,或者发送请求超时了都会导致生产者丢弃该条消息,发送......

kafka问题收集

1. 介绍

本文记录一些kafka生产使用的一些问题。

org.apache.kafka.clients.consumer.CommitFailedException: Commit cannot be completed due to group rebalance

原因分析: consumer进行poll的时候耗时太久,导致发送hearbeat间隔太长,coordinator认为consumer死了,就发生了rebalance

解决方案:Kafka CommitFailedException consumer exception

Marking th......

kafka producer性能调优

1. 介绍

原文来自linkedin的一篇PPTproducer-performance-tuning-for-apache-kafka。

2. 本文的一些前提

讨论的kafka版本为0.10.0

没有broker端的再压缩

消息都有8字节的时间戳介绍信息

3. 优化目标

给定一个要发送的数据集,在满足持久性、有序性的前提下优化以下两点:

吞吐量

延迟

优化专注于优化平均性能,这样对所有的producer都有效。

4. kafka producer原理回顾

4.1 生产者的关键配置

batch.size: 基于大小的batching策略......

kafka集群间的数据同步和数据转移

1. 介绍

有时候需要跨集群之间的数据同步和数据迁移的需求。这个可以利用官方提供的工具:官方文档的6.1 Basic Kafka Operations

2. 原理说明

这个工具就是启动了一个消费者从源集群消费数据,然后交给一个生产者往目标集群发送消息。

3.使用技巧以及注意点

3.1 使用技巧

开启多个mirror maker进程:mirror ma......