美文网首页基础组件
kafka作业第二篇

kafka作业第二篇

作者: 海德堡绝尘 | 来源:发表于2017-01-02 09:10 被阅读91次

    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

    相关文章

      网友评论

        本文标题:kafka作业第二篇

        本文链接:https://www.haomeiwen.com/subject/ountmttx.html