![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kafka
文章平均质量分 89
Kafka
四月天03
能用钱解决的问题,千万别花时间
展开
-
为什么Kafka不使用http?为什么消息中间件不直接使用http协议?
为什么Kafka不使用http?kafka在tcp上使用二进制协议有人问我们为什么不使用http。原因有很多,最好的是客户机实现者可以利用一些更高级的tcp特性--多路请求的能力,同时轮询多个连接的能力,等等。我们还发现许多语言中的http库非常破旧。有没有明确的原因,因为这似乎没有说服力?Kafka 强调性能。通常 HTTP over TCP 带来的开销并不大,只要您将 header 保持在最小大小即可。但是如果您有大量的小消息来回传输,则应考虑 HTTP 的开销。原创 2023-02-08 13:20:56 · 1950 阅读 · 0 评论 -
Kafka实战(一):设计、部署规划及其调优
1. Kafka概要设计kafka在设计之初就需要考虑以下4个方面的问题:吞吐量/延时 消息持久化 负载均衡和故障转移 伸缩性1.1吞吐量/延时对于任何一个消息引擎而言,吞吐量都是至关重要的性能指标。那么何为吞吐量呢?通常来说,吞吐量是某种处理能力的最大值。而对于Kafka而言,它的吞吐量就是每秒能够处理的消息数或者每秒能够处理的字节数。很显然,我们自然希望消息引擎的吞吐量越大越好。消息引擎系统还有一个名为延时的性能指标。它衡量的是一段时间间隔,可能是发出某个操作与接收到操作响应(.原创 2021-09-03 16:05:44 · 917 阅读 · 0 评论 -
Kafka机器数量计算、性能评估、压力测试
规划范围管理 收集需求 定义范围 创建WBS 确认范围 控制范围产品范围:某项产品、服务或成果所具有的特征和功能。项目范围:为交付具有规定特性与功能的产品、服务或成果而必须完成的工作。1、规划范围管理:是为记录如何定义、确认和控制项目范围及产品范围,而创建范围管理计划的过程。本过程的主要作用是,在整个项目期间对如何管理范围提供指南和方向。本过程仅开展一次或仅在项目的预定义点开展。重要输出:范围管理计划、需求管理计划。范围管理计划是项目管理计划的组成部分,描述将如何定义、制定、监督原创 2021-01-23 22:11:28 · 5592 阅读 · 1 评论 -
Kafka监控:消息堆积、消息延迟、以及如何处理
在日常的工作中,我们发现很多开发对Kafka本身并不太了解,运维由于经验的不足在初期对整体Kafka的管控也不是那么的严格,导致在使用上有很多问题。所以我们整合了内部的Kafka监控服务的数据,结合我们平台的任务血缘,开发了自己的一套Kafka监控服务。目前这套系统整体还比较初级,除了关联了Kafka、流表、和任务之间的关系以外,我们还对以下这几种情况做了主动监控:KafkaTopic的分区数的合理性,主要监控消息队列分区数过少或者过多的情况,主要是过少的情况,防止...原创 2020-07-08 17:07:54 · 15284 阅读 · 1 评论 -
Kafka 集群扩容、分区重新分配、SparkStreaming自适应上游kafka topic partition数目变化
我们往已经部署好的Kafka集群里面添加机器是最正常不过的需求,而且添加起来非常地方便,我们需要做的事是从已经部署好的Kafka节点中复制相应的配置文件,然后把里面的broker id修改成全局唯一的,最后启动这个节点即可将它加入到现有Kafka集群中。 但是问题来了,新添加的Kafka节点并不会自动地分配数据,所以无法分担集群的负载,除非我们新建一个topic。但是现在我们想手动将部分分区...原创 2020-03-26 16:45:00 · 1471 阅读 · 0 评论 -
Spark Streaming 运行日志 、 任务监控 Web UI 、Kafka 、Listener 邮件短信通知
任务监控一、 Spark Web UI对于 Spark Streaming 任务的监控可以直观的通过 Spark Web UI ,该页面包括 Input Rate, Scheduling Delay、Processing Time 等,但是这种方法运维成本较高,需要人工不间断的巡视。这其中包括接受的记录数量,每一个batch内处理的记录数,处理时间,以及总共消耗的时间。在上...原创 2019-02-27 15:27:43 · 6443 阅读 · 1 评论 -
SparkStreaming +kafka 的offset保存MySQL、hbase、redis、zookeeper
Kafka做为一款流行的分布式发布订阅消息系统,以高吞吐、低延时、高可靠的特点著称,已经成为Spark Streaming常用的流数据来源。其实说白了,官方提供的思路就是,把JavaInputDStream转换为OffsetRange对象,该对象具有topic对应的分区的所有信息,每次batch处理完,Spark Streaming都会自动更新该对象,所以你只需要找个合适的地方保存该对象(比如...原创 2019-02-27 15:09:38 · 3033 阅读 · 2 评论 -
kafka生产者方式、回调函数、指定分区、消费方式指定分区、偏移量提交、多线程,消费失败重试补偿
一、 kafka发送消息的三种方式public class MyProducer implements Job { private static KafkaProducer<String,String> producer; static { Properties properties = new Properties(); ...原创 2019-03-04 09:57:20 · 5688 阅读 · 1 评论 -
kafka架构与原理 ,消息的可靠性与一致性幂等性,数据存储、zookeeper、使用场景
Kafka常用命令之kafka-topics.shhttps://blog.csdn.net/qq_29116427/article/details/80202392Kafka概述Kafka作为一个商业级消息中间件 ,发布和订阅记录流,它类似于一个消息队列先了解下Kafka的基本原理,然后通过对kakfa的存储机制、复制原理、同步原理、可靠性和持久性保证等等一步步对其可靠性进行分析...原创 2019-03-03 11:56:29 · 2881 阅读 · 0 评论 -
MySQL数据 实时同步到Kafka --Binlog canal、Maxwell、Kafka Connect 实现MySQL增量同步
一、需求分析早期业务借助Sqoop将Mysql中的数据同步到Hive、hdfs来进行数据分析,使用过程中也带来了一些问题:虽然Sqoop支持增量同步但还属于粗粒度的离线同步,无法满足下游数仓实时性的需求(可能一个小时,或者一天) 每次同步Sqoop以sql的方式向Mysql发出数据请求也在一定程度上对Mysql带来一定的压力 同时Hive对数据更新的支持也相对较弱,由于Hive本身的...原创 2019-08-30 16:09:48 · 11288 阅读 · 1 评论 -
消息中间件选型分析:从 Kafka 与 RabbitMQ 对比
消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件,有着举足轻重的地位。目前开源的消息中间件可谓是琳琅满目,能让大家耳熟能详的就有很多,比如等。不管选择其中的哪一款,都会有用的不趁手的地方,毕竟不是为你量身定制的。原创 2019-12-24 15:23:08 · 2862 阅读 · 0 评论 -
kafka面试题及问题汇总
https://www.cnblogs.com/sunrise88/p/7286009.html1、kafka的数据存在内存还是磁盘Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。而且Linux对于磁盘的读写优化也比较多,包括read...原创 2019-02-28 18:49:49 · 1941 阅读 · 0 评论