kafka作业第二篇

1. 实现Random Partitioner(即对于每条消息,发送到一个随机的Partition)

import kafka.producer.Partitioner;

/**

* 随机达到某一个节点

* Created by niewj on 2016/11/30.

*/

public class RandomPartitioner implements Partitioner {

@Override

public int partition(Object key, int numPartitions) {

/**

* 获得一个0到1000之间的随机数

*/

int randomNum = new Double(Math.random() * 1000).intValue();

return randomNum % numPartitions;

}

}

2. 通过实验验证Partitioner的实例个数及其是否需要保证线程安全


3. 请思考何时应该使用同步Producer,何时应使用异步Producer

追求高性能,能容忍数据偶尔丢失的情况下,可以使用异步Producer;

追求高可用,要求数据完整性的情况,可以使用同步Producer

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容