文档章节

Microsoft.CSharpClient-for-Kafka producer使用示例

arbean
 arbean
发布于 2017/03/15 15:54
字数 161
阅读 21
收藏 0

static void Main(string[] args)
        {
            var config = new KafkaSimpleManagerConfiguration()
            {
                Zookeeper = "127.0.0.1:2181,127.0.0.1:2181",
                MaxMessageSize = SyncProducerConfiguration.DefaultMaxMessageSize
            };
            var producerConfigTemplate = new ProducerConfiguration(
                  new List<BrokerConfiguration>()) //The Brokers will be replaced inside of KafkaSimpleManager
            {
                ForceToPartition = -1,
                PartitionerClass = config.PartitionerClass,
                TotalNumPartitions = 0,
                RequiredAcks = 0,
                AckTimeout = SyncProducerConfiguration.DefaultAckTimeout,
                SendTimeout = SyncProducerConfiguration.DefaultSendTimeout,
                ReceiveTimeout = SyncProducerConfiguration.DefaultReceiveTimeout,
                CompressionCodec = CompressionCodecs.NoCompressionCodec,
                BufferSize = SyncProducerConfiguration.DefaultBufferSize,
                SyncProducerOfOneBroker = ProducerConfiguration.DefaultSyncProducerOfOneBroker, //Actually it's sync producer socket count of one partition
                MaxMessageSize = SyncProducerConfiguration.DefaultMaxMessageSize
            };
            var kafkaSimpleManage = new KafkaSimpleManager<byte[], Message>(config);
            kafkaSimpleManage.InitializeProducerPoolForTopic(0, "0", 0, "123", true, producerConfigTemplate, true);
            for (int i = 0; i < 2; i++)
            {
                new Thread(obj =>
                {
                    var sw = Stopwatch.StartNew();
                    mkafka2(kafkaSimpleManage, 1500000);
                    sw.Stop();
                    Console.WriteLine(sw.ElapsedMilliseconds);
                }).Start();
            }
            Console.ReadLine();
        }

        private static void mkafka2(KafkaSimpleManager<byte[], Message> kafkaSimpleManage, int count)
        {
            var key = Encoding.UTF8.GetBytes("12asdfasdfasdfasdf");
            var value = new byte[1 * 1024];
            var rdm = new Random();
            Parallel.For(0, value.Length, i =>
            {
                value[i] = (byte)rdm.Next(0, 127);
            });
            for (int i = 0; i < count; i++)
            {
                var producer = kafkaSimpleManage.GetProducerOfPartition("123", -1, true);
                producer.Send(new ProducerData<byte[], Message>("123", key, new Message(value)));
            }
        }

© 著作权归作者所有

arbean
粉丝 0
博文 25
码字总数 2001
作品 0
徐汇
高级程序员
私信 提问
Kafka消息序列化和反序列化(上)

Kafka Producer在发送消息时必须配置的参数为:bootstrap.servers、key.serializer、value.serializer。序列化操作是在拦截器(Interceptor)执行之后并且在分配分区(partitions)之前执行的。...

u013256816
2017/11/28
0
0
知识链-消息中间件

消息中间件 Kafka Kafka它本质上是一个消息系统,不同于传统的企业信息队列系统,它是以近乎实时的方式处理流经一个公司的所有数据,目前已经服务于LinkedIn、Netflix、Uber以及Verizon,并为...

zlfwmm
2016/12/13
0
0
Kafka Producer拦截器

Kafka中的拦截器(Interceptor)是0.10.x.x版本引入的一个功能,一共有两种:Kafka Producer端的拦截器和Kafka Consumer端的拦截器。本篇主要讲述的是Kafka Producer端的拦截器,它主要用来对...

u013256816
2017/11/19
0
0
源码分析Kafka之Producer

Kafka是一款很棒的消息系统,可以看看我之前写的 后端好书阅读与推荐来了解一下它的整体设计。今天我们就来深入了解一下它的实现细节(我fork了一份代码),首先关注Producer这一方。 要使用...

MageekChiu
2018/01/30
0
0
Using Kafka with Flume

这个文档是 Cloudera Distribution of Apache Kafka 1.3.x. 其他版本的文档在Cloudera Documentation. Using Kafka with Flume 在CDH 5.2.0 及更高的版本中, Flume 包含一个Kafka source an......

晨磊
2015/08/29
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

PCB设计-Allegro软件入门系列-铺铜操作(下)

铺铜是PCB很常见的操作,PCB的敷铜一般都是覆地铜,增大地线面积,有利于地线阻抗降低,使电源和信号传输稳定,在高频的信号线附近敷铜,可大大减少电磁辐射干扰,起屏蔽作用。 本讲讲解啊一...

demyar
28分钟前
4
0
如何通过WASI SDK 在Linux上编译ZXing C++

Mozilla在今年三月份的时候公布了WASI。WASI的目标就是让WebAssembly在任何地方都可以运行,而不仅仅像现在这样只能运行在Node.js和Web浏览器中。WASI目前依然处于初级阶段,这篇文章分享下如...

yushulx
30分钟前
3
0
.Net界面开发神器—DevExpress官方汉化包免费下载!还在等什么?

点击获取DevExpress v19.1.7新版试用下载 DevExpress Localization Service允许您创建一组自定义的附属程序集,要将语言包添加到程序集中,请查看本文中为大家列出的对应版本的汉化包,下载并...

FILA6666
30分钟前
4
0
php生成二维码

        header('Content-Type: image/png');        //清除缓冲区,防止之前面不知道的情况下被加头部信息导致不显示图片内容        ob_clean();        $...

横着走的螃蟹
36分钟前
3
0
伪类和伪元素

伪类和伪元素 伪类和伪元素,对于绝大多数同学来说,都是耳熟能详的名字,但确实又有很多人搞不清楚它们之间的区别,以致于混淆概念。而当概念都混淆的时候,也往往意味着你不会经常使用它,...

不负好时光
38分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部