摘要: [toc] 消费者客户端多线程实现 KafkaProducer 是线程安全的,然而 KafkaConsumer 却是非线程安全的。KafkaConsumer 中定义了一个 acquire() 方法,用来检测当前是否只有一个线程在操作,若有其他线程正在操作则会抛出 ConcurrentModifcat 阅读全文
posted @ 2019-12-07 21:57 6。 阅读(2657) 评论(0) 推荐(0) 编辑
摘要: consumer 采用 pull(拉)模式从 broker 中读取数据。 push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pu 阅读全文
posted @ 2019-12-07 21:32 6。 阅读(457) 评论(0) 推荐(0) 编辑
摘要: [toc] Kafka 简介 Kafka最初是由LinkedIn公司采用Scala语言开发的一个多分区、多副本并且基于ZooKeeper协调的分布式消息系统,现在已经捐献给了Apache基金会。目前Kafka已经定位为一个分布式流式处理平台,它以 高吞吐、可持久化、可水平扩展、支持流处理等多种特性而 阅读全文
posted @ 2019-12-07 20:20 6。 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: [toc] 集群启动 启动zookeeper集群 cd /usr/app/zookeeper/bin ./zkServer.sh start 依次启动。 启动kafka集群 cd /usr/app/kafka bin/kafka server satrt.sh daemon config/serve 阅读全文
posted @ 2019-12-07 15:26 6。 阅读(358) 评论(0) 推荐(0) 编辑
摘要: [toc] Kafka是强依赖与zookeeper集群的,所以需要先搭建Zookeeper集群。 Zookeeper的集群搭建 上传安装包 因为zookeeper需要java环境所以需要上传jdk和zookeeper的安装包,一般安装文件放在usr/opt目录下,这里我用的是jdk1.7、zooke 阅读全文
posted @ 2019-12-07 15:25 6。 阅读(363) 评论(0) 推荐(0) 编辑
摘要: [toc] bootstrap.servers broker集群地址,格式:ip1:port,ip2:port...,不需要设定全部的集群地址,设置两个或者两个以上即可。 group.id 消费者隶属的消费者组名称,如果为空会报异常,一般而言,这个参数要有一定的业务意义。 fetch.min.byt 阅读全文
posted @ 2019-12-07 15:24 6。 阅读(6182) 评论(0) 推荐(0) 编辑
摘要: [toc] 消费者客户端 消费步骤: 1、配置消费者客户端参数并创建相应的消费者实例。 2、订阅主题。 3、拉取消息并消费 4、提交消费位移 5、关闭消费者实例 订阅主题 通过使用subscribe()方法订阅主题,既可以以集合的形式订阅多个主题,也可以以正则表达式的形式订阅特定模式的主题。 对于消 阅读全文
posted @ 2019-12-07 15:22 6。 阅读(653) 评论(0) 推荐(0) 编辑
摘要: [toc] acks 这个参数用老指定分区中必须由多少个副本收到消息,之后生产者才会认为这条消息写入是成功的。acks参数有三种类型的值(都是字符串类型)。 acks=1 默认值为1.生产者发送消息之后,只要分区的leader副本成功的写入消息,生产端就会收到来自服务端的成功响应,说明发送成功。如果 阅读全文
posted @ 2019-12-07 15:18 6。 阅读(3150) 评论(0) 推荐(0) 编辑
摘要: [toc] 整体架构 生产过程由两个线程协调运行,分别为主线程和sender线程(发送线程)。 主线程中,由KafkaProducer创建消息,然后通过可能的拦截器、序列化器和分区器的作用,缓存消息到消息加载器(RecordAccumulator,也称为消息收集器)中,Sender线程负责从消息加载 阅读全文
posted @ 2019-12-07 14:43 6。 阅读(987) 评论(0) 推荐(0) 编辑
摘要: [toc] 客户端开发 步骤: 配置生产者参数 构建待发送的消息 发送消息 关闭生产者实例 必要的配置参数 bootstrap.servers kafka集群地址,不需要所有的集群地址,生产者会从给定的broker中查找到其他的broker信息。建议至少设置两个以上的broker地址,在初始连接中, 阅读全文
posted @ 2019-12-07 14:40 6。 阅读(199) 评论(0) 推荐(0) 编辑