kafka
文章平均质量分 71
Mr_yang_tao
这个作者很懒,什么都没留下…
展开
-
kafka-producer如何发送消息
producer如何发送消息首先producer保持着一个与zk的链接,通过这个链接,可以获得当前Topic所有的partition leader所在主机的列表,然后,会选择一台主机,直接发送消息到broker上的leader partition,不需要经过任何中介或其他路由转发。为了实现这个特性,kafka集群中的每个broker都可以响应producer的请求,并返回topic的一些元信息...原创 2018-08-04 15:58:30 · 3213 阅读 · 0 评论 -
kafka-producer基础理论_04
如果你已经了解了kafka的producer基础理论,可以跳过这篇文章Partition & Replicas我创建了一个名为producer-0的topic,partitions的数量为3,每个partitions除了本身之外还有一个副本,如下图。 Topic:producer-0 Partition:0 Leader:2 Replicas:2...原创 2018-09-07 16:41:56 · 245 阅读 · 0 评论 -
kafka2.0-入门demo_03
上一篇文章简单的讲了搭建kafka的环境以及如何启动。现在来讲讲kafka的简单使用,然后使用java写个小的测试程序。首先假设你已经启动了kafka集群,我们来创建一个topic,使用如下命令:bin/kafka-topics.sh --create --zookeeper 192.168.1.3:2181,192.168.1.128:2181,192.168.130:2181 --...原创 2018-09-06 21:10:04 · 1707 阅读 · 0 评论 -
kafka2.0-幂等发送(the idempotent producer)_09
从kafka 0.11版本开始,生成者就支持了两种额外的发送模式 - 幂等发送(the idempotent producer)和事物发送(the transactional producer)。事物发送在后面讲。什么是幂等?(如果已经了解,可跳过) 举个例子:比如用户对订单付款之后,生成了一个付款成功的消息,发送给了订单系统,订单系统接收到消息之后,将订单状态为已付款,后来,订单系统又收到...原创 2018-09-12 13:45:43 · 2888 阅读 · 1 评论 -
kafka2.0-环境搭建_02
声明:我这里搭建的是完全分布式环境,zookeeper使用的是非kafka自带的。(想深入了解kafka,需要先了解zk,如果你对zk有一定了解,那么搭建zk分布式环境将会非常easy)单机环境和伪分布环境可以参见官方文档:http://kafka.apache.org/quickstart 如果不想看英文就看这篇:http://www.tianshouzhi.com/api/tutoria...原创 2018-09-06 16:32:44 · 1772 阅读 · 0 评论 -
kafka2.0-使用protobuf实现序列化_08
上一篇文章中讲了json和jdk的序列化方式,这里讲使用protobuf类序列化protobuf的介绍 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。...原创 2018-09-09 16:45:34 · 14371 阅读 · 3 评论 -
kafka2.0-序列化与反序列化_07
概要:先讲讲kafka中简单的序列化方式,以及实现,然后再使用protobuf实现一个自定义序列化的小程序正如之前文章中写过的例子程序,我们配置的序列化方式都是下面这样的。//生产者的序列化配置props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");props.p...原创 2018-09-09 12:44:56 · 959 阅读 · 0 评论 -
kafka-自定义分区器(partitioner)_06
上一篇文章讲了kafka的默认的分区器(DefaultPartitioner)源码,这里我们写一个自定义分区器的小例子生产者代码如下:/** * kafka生产者 * 使用自定义的分片器发送消息 */public class PartitionerProducer { public static final String TOPIC_NAME = "producer-0"...原创 2018-09-08 16:33:53 · 1242 阅读 · 1 评论 -
kafka2.0-producer如何将消息分配到partition中_05
Topic:producer-0 PartitionCount:3 ReplicationFactor:2 Configs: Topic: producer-0 Partition: 0 Leader: 2 Replicas: 2,1 Isr: 2,1 Topic: producer-0 Partition: 1 Leader: 3 Re...原创 2018-09-08 12:50:23 · 3450 阅读 · 0 评论 -
Kafka介绍和原理
Kafka介绍简而言之,kafka是一种mq,现在有很多开源的mq,包括ActiveMq,RokectMq, Rabbitmq和Kafka等等。还有些大型互联网公司内部不开源的MQ,比如阿里巴巴的MetaQ,京东的JMQ等等。Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文...原创 2018-08-02 16:12:00 · 309 阅读 · 0 评论 -
kafka2.0-事物发送(the transactional producer)_10
事务 事务是Kafka 0.11开始引入的新特性。类似于数据库事务,只是这里的数据源是Kafka,kafka事务属性是指一系列的生产者生产消息和消费者提交offset的操作在一个事务,或者说是是一个原子操作),同时成功或者失败。事务入门例子生产者如下,发送两条消息,添加事物的意思就是要么同时发送成功,要么都不成功。/** * 多次生成消息类型的事物 */public class...原创 2018-09-13 13:27:28 · 1271 阅读 · 0 评论