kafka
beautiful_huang
万般皆苦 唯有自度
展开
-
【Kafka】kafka:如何保证消息不丢失不重复
首先要考虑这么几个问题:消息丢失是什么造成的?(从生产端和消费端两个角度来考虑)消息重复是什么造成的?(从生产端和消费端两个角度来考虑)如何保证消息有序?如果保证消息不重不漏,损失的是什么?消费端重复消费:很容易解决,建立去重表。消费端丢失数据:也容易解决,关闭自动提交offset,处理完之后受到移位。生产端重复发送:这个不重要,消费端消费之前从去重表中判重就可以。生产端丢失数据:...原创 2020-03-06 17:11:31 · 881 阅读 · 0 评论 -
【Kafka】Kafka stream 模拟股票证券大屏实时动态显示
文章目录kafka Producer 模拟股市价格的成交价利用流统计每种股票价格实时数据基于吞吐量存储与redis使用 Echarts 完成实时动态图标呈现效果图kafka Producer 模拟股市价格的成交价package com.njbdqn.services;import org.apache.kafka.clients.producer.KafkaProducer;import...原创 2020-03-06 16:35:11 · 851 阅读 · 0 评论 -
【Kafka】Kafka消费者组subscribe和assign的正确使用
使用Apache Kafka 消费者组时,有一个为消费者分配对应分区partition的过程,我们可以使用“自动”subscribe和“手动”assign的方式。同时进行“自动”和“手动”的分区分配是会互相影响的,有时会把事情搞糟。正确的使用,首先要了解这两种方式的场景。消费者组的使用场景Kafka里的消费者组有两个使用的场景:“队列模式”:在同一组的消费者共同消费一个主题的所有消息,...原创 2020-03-06 10:30:38 · 8349 阅读 · 0 评论 -
【Kafka】broker -副本与ISR设计
kafka把分区的所有副本均匀地分配到所有broker上,并从这些副本中挑选一个作为leader副本对外提供服务,而其他副本被称为follower副本,只能被动地向leader副本请求数据,从而保持与leader副本的同步:所谓isr,就是Kafka集群动态维护的一组同步副本集合,每个topic分区都有自己的isr列表,isr中的所有副本都与leader保持同步状态,而producer写入的一条...原创 2020-02-25 16:20:26 · 226 阅读 · 0 评论 -
【Kafka】深入探究--为什么Kafka速度快
Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。针对Kafka的基准测试可以参考,Apache Kafka基准测试:每秒写入2百万(在三台廉价机...原创 2020-02-25 16:17:36 · 195 阅读 · 0 评论 -
【Kafka】Kafka指定分区消费
import org.apache.kafka.clients.consumer.Consumer;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apache.kafka.clients.consumer.ConsumerRecords;import org.apache.kafka.clients.co...原创 2020-02-25 16:08:00 · 2793 阅读 · 0 评论 -
【Kafka】Kafka自定义分区器
1. 默认的分区策略(1) 如果键值为 null,并且使用了默认的分区器,那么记录将被随机地发送到主题内各个可用的分区上。分区器使用轮询(Round Robin)算法将消息均衡地分布到各个分区上。(2) 如果键不为空,并且使用了默认的分区器,那么 Kafka 会对键取 hash 值然后根据散列值把消息映射到特定的分区上。这里的关键之处在于,同一个键总是被映射到同一个分区上,所以在进行映射时,我...原创 2020-02-25 15:35:54 · 1256 阅读 · 2 评论 -
【Kafka】Kafka核心架构、备份机制汇总
kafka是一款基于发布与订阅的消息系统。它一般被称为“分布式提交日志”或者“分布式流平台”。文件系统或者数据库提交日志用来提供所有事物的持久化记录,通过重建这些日志可以重建系统的状态。同样地,kafka的数据是按照一定顺序持久化保存的,可以按需读取。 1、kafka拓扑结构 2、Kafka的特点 同时为分布和订阅提供高吞吐量。据了解,Kafka每秒可以生...原创 2020-02-25 14:35:43 · 699 阅读 · 0 评论 -
【Kafka】Kafka如何实现高吞吐量
1.顺序读写kafka的消息是不断追加到文件中的,这个特性使kafka可以充分利用磁盘的顺序读写性能顺序读写不需要硬盘磁头的寻道时间,只需很少的扇区旋转时间,所以速度远快于随机读写生产者负责写入数据,Kafka会将消息持久化到磁盘,保证不会丢失数据,Kafka采用了俩个技术提高写入的速度。1.顺序写入:在大学的计算机组成(划重点)里我们学过,硬盘是机械结构,需要指针寻址找到存储数据的位置...原创 2020-02-17 12:12:24 · 1627 阅读 · 0 评论 -
【Kafka】kafka 转换算子(详解)
1.stateless transformation无状态的转换算子:流处理器不涉及状态的处理和存储1.1 branch分支 :将一个stream转换为1到多个Stream stream----->stream[] //branch 分流 KStream<String, String>[] streams = kStream.branch((k, v...原创 2020-02-11 18:35:26 · 1301 阅读 · 0 评论 -
【kafka】java 操作 kafkaStream
文章目录导入maven包编写第一个Streams应用程序:将一个topic写入另一个topicLine Split单行映射成多行导入maven包<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --> <dependency> <groupId>o...原创 2020-02-11 18:29:42 · 1456 阅读 · 0 评论 -
【Kafka】java操作Kafka(一)
文章目录创建消息队列pom.xml生产者消费者java操作kafka非常的简单,然后kafka也提供了很多缺省值,一般情况下我们不需要修改太多的参数就能使用。下面我贴出代码。创建消息队列[root@hw1 ~]# kafka-topics.sh --create --zookeeper 192.168.56.122:2181 --topic test --replication-factor...原创 2020-02-11 12:04:41 · 653 阅读 · 0 评论 -
【Flume】Flume 正则拦截器
Flume中常用Kafka Source、正则拦截器、HDFS Sink,这里把需要注意的点做一下总结,并实现数据根F据事件时间和事件类型落到HDFS。Kafka Source配置# source类型agent.sources.s1.type = org.apache.flume.source.kafka.KafkaSource# kafka brokers列表agent.source...原创 2020-02-10 16:09:45 · 1158 阅读 · 0 评论 -
【Kafka】kafka入门(一)
前言:在之前的文章里面已经了解到了「消息队列」是怎么样的一种存在(传送门),Kafka 作为当下流行的一种中间件,我们现在开始学习它!一、Kafka 简介Kafka 创建背景Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的...原创 2020-02-10 11:07:32 · 285 阅读 · 0 评论 -
浅谈消息队列以及常见中间件
消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段。它具有 低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。当前使用较多的 消息队列 有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等,而部分 数据库 如 Redis、MySQL 以及 phxsql 也可实现消息队列的功能。 正文1. 消息队列概述消息队列 是指利用 ...原创 2020-02-10 09:31:45 · 978 阅读 · 0 评论