![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kafka
贝壳里的沙
毕业于中国石油大学软件工程系,先后就职于北京方正集团、北京用友财务软件股份有限公司、广东安居宝数码科技股份有限公司、广东东道信息科技有限公司,拥有10年以上的开发管理经验,擅长安防相关的音视频编技术应用,在大数据分析处理等方面有丰富的经验和独到见解。
展开
-
1、kafka简介
参考文档:http://kafka.apache.org/documentation/#introductionhttp://kafka.apachecn.org/documentation.htmlhttps://www.jianshu.com/p/d3e963ff8b701、JMS是什么(1)JMS的基础JMS是什么JMS是Java提供的一套技术规...原创 2019-08-13 13:19:28 · 329 阅读 · 0 评论 -
17、kafka分区选主机制
kafka分区选主机制1、大数据常用的选主机制2、常用选主机制的缺点3、kafka分区的选主机制1、大数据常用的选主机制leader的选择方法非常多,大数据领域常用的的选举方法有如下集中(1)Zab(zookeeper使用)a、快速leader选举(leader election)b、发现或者版本建立(epoch establish)c、同步(follower从leader同步数据和状...原创 2019-08-16 11:24:57 · 4125 阅读 · 0 评论 -
16、kafka集群监控
kafka集群监控一、Kafka Offset Monitor介绍安装部署Kafka Offset Monitor安装部署kafka-mamager工具Kafka集群监控工具有很多,这里我们只介绍针对Kafka的监控。一、Kafka Offset Monitor介绍在生产环境中需要集群高可用,所以需要对kafka集群进行监控。Kafka Offset Monitor可以监控Kafka集群以下...原创 2019-08-16 11:16:25 · 819 阅读 · 0 评论 -
15、kafka集群维护
kafka集群维护1、集群信息实时查看工具(topic工具)2、kafka集群leader平衡机制3、集群分区日志迁移1、集群信息实时查看工具(topic工具)(1)列出集群当前所有可用的topickafka-topics.sh --list --zookeeper kafka1:2181(2)查看集群特定的topic信息/bin/kafka-topics.sh --describe ...原创 2019-08-16 11:02:00 · 314 阅读 · 0 评论 -
14、kafka消息检索原理
一、kafka消息的segment文件组成和物理结构1、分区文件存储方式(1)kafka的topic的每一个分区都存在一个目录(2)所有的消息按照一个index文件和log文件存储2、分区下的每一个segment文件(.log)的结构3、一个segment中的每一个消息(message)的存储结构(1)8字节的偏移量:当前的partition的第多少个message(2)4字节...原创 2019-08-13 17:19:44 · 946 阅读 · 1 评论 -
13、kafka消息组织原理和删除原理
一、磁盘的认识1、但需要从磁盘读取数据时候,要确定读取的数据在哪个磁道,哪个扇区–首先必须找到柱面,即磁头需要移动对准响应的磁道,这个过程叫做寻道,所以耗费的时间叫做寻道时间–然后目标扇区旋转到磁头下,这个过程耗费的时间叫做旋转时间,一次访问磁盘请求(读/写)完成的过程有三个动作组成(1)寻道时间:磁头移动定位到指定磁道的时间(2)旋转延迟:等待指定扇区从磁头下旋转经过的时间(3)数...原创 2019-08-13 17:17:44 · 1671 阅读 · 0 评论 -
12、SpringCloud使用Kafka消费者
1、POM文件配置<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/m...原创 2019-08-13 15:21:48 · 1505 阅读 · 1 评论 -
11、kafka管理客户端接口
前言一般情况下,我们都习惯使用Kafka中bin目录下的脚本工具来管理查看Kafka,但是有些时候需要将某些管理查看的功能集成到系统(比如Kafka Manager)中,那么就需要调用一些API来直接操作Kafka了。在Kafka0.11.0.0版本之前,可以通过kafka-core包(Kafka的服务端代码,采用Scala编写)下的AdminClient和AdminUtils来实现部分的集群管...原创 2019-08-13 15:19:12 · 1312 阅读 · 0 评论 -
10、kafka消费者配置参数说明
Consumer Configuration在kafka 0.9+使用Java Consumer替代了老版本的scala Consumer。新版的配置如下:bootstrap.servers在启动consumer时配置的broker地址的。不需要将cluster中所有的broker都配置上,因为启动后会自动的发现cluster所有的broker。它配置的格式是:host1:port1;h...原创 2019-08-13 15:14:31 · 7508 阅读 · 0 评论 -
9、Java客户端实现kafka消费者实例
环境要求(1)已经搭建的kafka集群(2)Apache Maven(3)kafka_2.11-2.2.0一、概念说明以官方给出的图为例,如下所示消费者组与主题之间关系每个Consumer 进程都会划归到一个逻辑的Consumer Group中,逻辑的订阅者是Consumer Group。所以一条message可以被多个订阅message所在的topic的每一个Consumer G...原创 2019-08-13 15:02:57 · 1667 阅读 · 0 评论 -
9、Kafka生产者各种启动参数说明
生产者启动实例final String kafkazk="localhost:9092"; String topic="testAPI"; Properties properties = new Properties() {{ put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkazk); put(P...原创 2019-08-13 14:59:03 · 714 阅读 · 0 评论 -
8、kafka生产者自定义分区算法实例
一、kafka消息发送流程kafka生产者在发送消息时候,key指定后可以使用自己的分区算法,KafkaProducer在调用send方法发送消息至broker的过程中,首先是经过拦截器Inteceptors处理,然后是经过序列化Serializer处理,之后就到了Partitions阶段,即分区分配计算阶段。在某些应用场景下,业务逻辑需要控制每条消息落 到合适的分区中,有些情形下则只要根据默认...原创 2019-08-13 14:51:06 · 777 阅读 · 0 评论 -
7、Kafka生产者maven实例
1、创建maven项目并添加依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.or...原创 2019-08-13 14:47:29 · 2229 阅读 · 0 评论 -
6、kafka生产模型
Kafka生产者模型(1)同步生产模型如图上所示,同步生产模型中,生产者发送消息后需要等待服务端确认消息(配置的消息确认等待时间),如果没有确认消息则生产者会再次发送对应消息,直到达到设置的最大次数。如果有一次收到确认消息,则停止发送继续发送下一次,这就是“至少一次”发送语义!同步生产模型特点:–低的消息丢失率–高消息重复率(由于网络原因,回复确认未收到)–高延迟(需要确认)–低吞...原创 2019-08-13 14:42:53 · 263 阅读 · 0 评论 -
5、分区消费模型和组消费模型
一、分区消费模型分区消费模型:4个分区4个消费者实例,如图所示,一个分区对应一个消费者。步骤:1、获取分区数个数2、为每一个分区创建一个消费线程或进程,对应一个消费者实例3、每一个消费者实例工作内容:(1)创建kafka实例的连接(主机名和端口)(2)指定消费者参数(对应topic的哪个partition分区)(3)设置消费的偏移量(主题的某分区的哪个偏移量号开始-每条消息对应...原创 2019-08-13 14:40:19 · 364 阅读 · 0 评论 -
4、kafka基本操作
Apache Kafka 基本操作首先让我们开始实现单节点单代理配置,然后我们将我们的设置迁移到单节点多代理配置。希望你现在可以在你的机器上安装Java,ZooKeeper和Kafka。 在迁移到Kafka Cluster Setup之前,首先需要启动ZooKeeper,因为Kafka Cluster使用ZooKeeper。启动ZooKeeper打开一个新终端并键入以下命令 -zooke...原创 2019-08-13 14:37:52 · 163 阅读 · 0 评论 -
3、Kafka介绍
kafka中文文档:http://kafka.apachecn.org/documentation.html#introductionkafka客户端下载:https://cwiki.apache.org/confluence/display/KAFKA/Clients简单说明什么是kafkaApache kafka是消息中间件的一种,我发现很多人不知道消息中间件是什么,在开始学习之前,我这...原创 2019-08-13 14:26:25 · 251 阅读 · 0 评论 -
2、kafka环境搭建
这里写自定义目录标题安装前准备Java安装第一步、卸载第二步、安装二、搭建Zookeeper集群The number of milliseconds of each tickThe number of ticks that the initialsynchronization phase can takeThe number of ticks that can pass betweensendin...原创 2019-08-13 13:33:51 · 588 阅读 · 0 评论 -
18、kafka的Reactor设计模型
kafka的Reactor设计模型(2)认识Linux的epoll模型(3)kafka Server Reactor模型kafka作为一种高性能、高并发的消息中间件,必须要求大量的客户端连接、必须做到高并发,kafka使用了久经检验的Reactor模型。在了解之前,首先了解一下如下几个概念(Reactor模型是基于Java NIO的,是linux的epoll模型的改造):#(1)认识Java ...原创 2019-08-16 11:29:19 · 1074 阅读 · 0 评论