文档章节

kafka(1)-基本术语

yiduwangkai
 yiduwangkai
发布于 2017/07/14 19:06
字数 640
阅读 58
收藏 0

topic:自定义的一个队列
broker:broker通常就是一台物理机器,在上面运行kafka server的一个实列,每个broker会给自己分配一个唯一的broker id。broker集群通过zookeeper集群来管理的。在0.9.0中,producer/consumer已经不会依赖zookeeper来获取集群的配置信息,而是通过任意一个broker来获取整个集群的配置信息

如上图所示:只有服务端依赖zk,客户端不依赖zk

partition

kafka的topic,在每个机器上,是用文件存储的。partition就是文件的目录,目录下面包含包含index后缀和log后缀的文件

replica/leader/follower

每个topic的partion的所有消息,都是存储了多份,在多个broker上冗余存储,这多台机器就叫一个replica集合。在这个replica集合中,需要选出1个leader,剩下的是follower。也就是master/slave。发送消息的时候,只会发送给leader,然后leader再把消息同步给followers(以pull的方式,followers去leader上pull,而不是leader push给followers)。这里replica/leader/follower都是逻辑概念,并且是相对"partion"来讲的,而不是"topic"。还有一点是leader收到消息之后,是否直接返回给produce,取决于客户端ack(0,1,all)的配置,然后followers在进行同步。

消息队列的各种策略和语义

1.ack:request.required.acks有三种策略分别如下;0表示不等服务器ack就返回了,性能最高,可能丢数据;1表示leader确认消息存下来了,再返回;all表示leader和当前ISR中所有replica都确认消息后,在返回;

注:在0.9.0以前的版本是用-1表示all

同步发送vs异步发送

0.8.2开始,引入了一套新的Java版的client api,需要如下四个参数

1)队列的最大长度:buffer.memory//缺省32M

2)队列满了,客户端是阻塞,还是抛异常出来:block.on.buffer.full//true:阻塞消息/false:抛异常

3)发送的时候,可以批量发送的数据量:batch.size//default:16384,即16k

4)最长等多长时间,批量发送:linger.ms//缺省是0;//类似TCP/IP协议中的linger algorithm

5)消息的最大长度:max.request.size//缺省是1048576,即1M

 

 

© 著作权归作者所有

yiduwangkai
粉丝 4
博文 66
码字总数 71307
作品 0
私信 提问
从术语到Spark,10篇必读大数据学习资源

     大数据文摘作品   编译:王一丁、王梦泽、夏雅薇   本文给想进入大数据领域的朋友提供了一系列的资源,由浅入深,比如“需要了解的51条大数据术语”、“学习python的四个理由”...

大数据文摘
2018/04/29
0
0
消息队列的选择:kafka、rabbitmq、zeromq

最近在做一个数据分析相关的工作,需求是将全国各地idc内的流量信息进行汇总和分析最后吐出一些安全策略,由于对时效性的要求比较高,大概每隔几秒就会有一次几十M的的数据需要传递到汇总服务...

徐学良
2015/12/17
3.2K
0
kafka安装配置

Kafka主要构成: 1、Broker:集群中的每一个对应的服务器被称之为broker。 2、Topic 用于区别消息的类别,每个topic中包含多个Partition;Partition主要可以减少每个日志的数据量,也可以增加...

halbert918
2016/01/22
229
0
SpringBoot开发案例之整合Kafka实现消息队列

前言 最近在做一款秒杀的案例,涉及到了同步锁、数据库锁、分布式锁、进程内队列以及分布式消息队列,这里对SpringBoot集成Kafka实现消息队列做一个简单的记录。Kafka简介 Kafka是由Apache软...

小柒2012
2018/05/18
0
0
Kafka 入门 and kafka+logstash 实战应用

一、基础理论 这块是整个kafka的核心无论你是先操作在来看还是先看在操作都需要多看几遍。 首先来了解一下Kafka所使用的基本术语 Topic Kafka将消息种子(Feed)分门别类 每一类的消息称之为话...

qw87112
2016/09/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
昨天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部