kafk学习笔记(一)
kafka消费模式
1.点对点模式:消费者主动拉取消息,消费之后删除数据。
2.发布/订阅模式:如果生产者推给消费者,可能会有些消费者消费比较慢,直接爆炸、或者有些消费者消费很快,资源浪费;一般是消费者主动拉取(但是这样要不停的去询问kafka是否有新消息)。
Kafka基本架构
1.生产者:生产消息给kafka集群。
2.kafka集群:消息队列,暂存消息。
borker可以任务是不同的服务器;
Topic是指主题,每个主题存不同类型的消息;
partition是指分区,分区的作用在于,负载均衡,提高并发率(竖看是分区);
leader是相对于分区而言的,并不是相对于broker,而follower是在其中的leader宕机时会被提升为leader,作为副本(leader与follower一定不在一台服务器);
3.消费者:拉取kafka中的消息,消费,存储数据等。
消费者组:一个分区同时只能被一个消费者组的一个消费者消费
4.zookper:帮助kafka集群存储一些信息,纪录消费者消费到了哪里(0.9版本之前存在zk中,0.9版本之后存又存在了kafka的一个系统的Topic中,之所以改回去,是因为消费者既要维护与kafka的链接,又要维护与ZK的链接比较浪费资源,另外ZK本身只是各个框架整合的润滑剂,让它高并发并不好)。

kafka的配置文件
1.server.properties
broker.id:这是borker的全局唯一ID,不可重复,写整数;
delete.topic.enable:默认是false,一般会改为true,意思是是否允许真的删除topic;
log.dirs:kafka运行日志存放的地址(其实可以认为是数据暂存的地方);
log.retention.hours:这是kafka存放运行时日志的最长时间;
zookeeper.connect:配置连接zookper的地址
2.在bin目录下有一些常用的命令
kafka-topics.sh --list --zookeeper:端口号 列出所有的topic
kafka-topics.sh --create --zookeeper :端口号 --partitions 指定分区数 --replication-factor 指定副本数 创建一个topic
kafka-topics.sh --delete --zookeeper:端口号 --topic 主题名称 删除指定主题(此时要注意配置文件为true时才真正意义的删除)
副本数,不能大于borker的数量
kafka-console-producer.sh --broker-list localhost:9092 --topic events localhost:9092是kafka启动的端口,--topic events是指定发送到某个topic
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic events --from-beginning --topic events是指订阅某一个topic的消息。 --from-begining是指从这个topic的第一条消息开始消费
kafk学习笔记(一)的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- python+opencv 打开网络摄像头
python+opencv 打开网络摄像头(手机)(转) #以下是最常用的读取视频流的方法import cv2url = 'rtsp://admin:admin@192.169.5.2:554/'#根 ...
- 5分钟快速学会xpath定位
今天我们先来和大家说一下appium,首先教大家如何定位xpath,五分钟即可学会:例:现在我想定位下面这个登录按钮: xpath该怎么写呢? 先不管三七二十几,先写//,然后找你要定位元素最近的可以 ...
- centos 7 对用过yum更新的软件服务进行降级
centos 7 执行 yum update 会对现有服务软件进行更新,但是如果把不该升级的软件升级,彼此软件不兼容,如何进行降级,比如:kibana 必须与 elasticsearch 大版本相同, ...
- LeetCode 95 | 构造出所有二叉搜索树
今天是LeetCode专题第61篇文章,我们一起来看的是LeetCode95题,Unique Binary Search Trees II(不同的二叉搜索树II). 这道题的官方难度是Medium,点 ...
- Spring_mybatis结合之1.1
Spring和mybatis结合,Spring管理容器,连接数据库等,mybatis负责管理sql语句,sql的入参和出参等 三种方法: 1.原始dao开发(不怎么用,好奇的宝宝可以自己搜搜.是dao ...
- vagrant安装的坑
关于VAGRANT安装过程的坑 标签: 虚拟化 闲来无聊 试试vagrant虚拟化技术 安装过程中坑太多了 所以记录下方便以后 注意: 执行 vagrant up 命令报错 如下 PS F ...
- php的负整数和正整数相加(负数以补码的形式存在内存,正数以原码的形式存在内存)
首先先理解原码,反码,补码 十进制为例 原码: 5的原码:00000101 反码:11111010 补码:补码在末尾加1即 11111011 (正数的补码就是其负数,即5的补码就是-5) 正数在 ...
- Labview学习之路(一)程序框图中的修饰
很多小伙伴知道在前面板有很多修饰符,比如上凸框,加粗下凹框等等,但是其实在程序框图中也是有修饰符的,他的位置比较隐蔽,并且修饰符很少,所以很多人基本没有用过.现在就给大家介绍一些这些程序框图种的修饰. ...
- Android项目智能机器人的实现,带有源代码,图灵智能机器人,详细讲解。。
大家好,今天给大家推荐一个我利用图灵api制作的android项目,智能机器人,类似智能小冰,等一些会机器人. 下面看效果.女头像是系统自动给你回复的,男头像是你输入的内容.项目源代码是eclipse ...
- oeasy教您玩转linux010108到底哪个which
到底哪个which 回忆上次内容 我们上次讲了查找命令位置whereis 我想找到whereis的位置怎么办?