知乎基于Kubernetes的kafka平台的设计和实现我是知乎技术中台工程师,负责知乎存储相关的组件。我的分享主要基于三个,第一,简单介绍一下Kafka在知乎的应用,第二,为什么做基于Kubernetes的Kafka平台。第三,我们如何去实现基于Kubernetes的kafka平台。Kafka在知乎的应用Kafka是一个非常优秀的消息或者数据流的组件,在知乎承载了日志、数据收集、消息队列等服务,
分类:
Web程序 时间:
2020-11-06 01:08:22
阅读次数:
22
在讲kafka使用之前,可以简要介绍一下安装local版本: 在linux下安装本地版(localhost): 1. 首先下载 kafka:http://kafka.apache.org/downloads 2. 其次解压(命令:tar -xzf kafka_2.12-2.6.0.tgz)到某个文件 ...
分类:
其他好文 时间:
2020-11-02 10:46:16
阅读次数:
36
Kafka 是一个优秀的分布式消息中间件,许多系统中都会使用到 Kafka 来做消息通信。对分布式消息系统的了解和使用几乎成为一个后台开发人员必备的技能。今天就从常见的 Kafka 面试题入手,和大家聊聊 Kafka 的那些事儿。
分类:
其他好文 时间:
2020-11-02 09:47:04
阅读次数:
18
引言所谓的消费语义,指的就是如下三种情况如何保证消息最多消费一次如何保证消息至少消费一次如何保证消息恰好消费一次其实类似还有一个投递语义如何保证消息最多投递一次如何保证消息至少投递一次如何保证消息恰好投递一次说句实在话,其实还是老问题,只是换了一种问法!OK,开始我们的正文正文我们先做如下约定Producer代表生产者Consumer代表消费者MessageQueue代表消息队列投递语义我们先从投
分类:
其他好文 时间:
2020-11-01 21:04:16
阅读次数:
14
背景 一个Python项目中要使用kafka去deliver log,1个producer,5个consumer。单条消息的大小是100KB ~ 500KB,producer要在1秒钟之内能够发送30个这样的message。然后每个consumer也要在1秒钟之内消费30个这样的message。另外 ...
分类:
其他好文 时间:
2020-11-01 10:07:48
阅读次数:
19
本文将学习Kafka生产者的使用和原理,文中使用的kafka-clients版本号为2.6.0。下面进入正文,先通过一个示例看下如何使用生产者API发送消息。publicclassProducer{publicstaticvoidmain(String[]args){//1.配置参数Propertiesproperties=newProperties();properties.put("boots
分类:
其他好文 时间:
2020-11-01 09:31:55
阅读次数:
17
【摘要】 Kafka时间轮是Kafka实现高效的延时任务的基础,它模拟了现实生活中的钟表对时间的表示方式,同时,时间轮的方式并不仅限于Kafka,它是一种通用的时间表示方式,本文主要介绍Kafka中的时间轮原理。 Kafka中存在一些定时任务(DelayedOperation),如DelayedFe ...
分类:
其他好文 时间:
2020-10-30 12:06:34
阅读次数:
18
前言"零拷贝"这三个字,想必大家多多少少都有听过吧,这个技术在各种开源组件中都使用了,比如kafka,rocketmq,netty,nginx等等开源框架都在其中引用了这项技术。所以今天想和大家分享一下有关于零拷贝的一些知识。计算机中数据传输在介绍零拷贝之前我想说下在计算机系统中数据传输的方式。数据传输系统的发展,为了写这一部分又祭出了我尘封多年的计算机组成原理:早期阶段:分散
分类:
其他好文 时间:
2020-10-30 11:49:47
阅读次数:
12
1.概述在很久之前写过一篇Kafka相关的文章,你需要知道的Kafka,那个时候在业务上更多的是使用的是Kafka,而现在换了公司之后,更多的使用的是Rocketmq,本篇文章会尽力全面的介绍RocketMQ和Kafka各个关键点的比较,希望大家读完能有所收获。RocketMQ前身叫做MetaQ,在MeataQ发布3.0版本的时候改名为RocketMQ,其本质上的设计思路和Kafka类似,但是和K
分类:
其他好文 时间:
2020-10-29 10:00:27
阅读次数:
22
背景今天在脉脉上面看到了一个帖子,比较有意思:这个帖子的意思是:在使用Kafka的时候,我们已经设置了多个分区,如何去提升消费能力?如果使用线程池的方式去提升如何保证重启时消息不丢。这个题其实问了两个点,第一个是如何提升消费能力,第二个是如果选择线程池,我们如何做到消息不丢。这里先解释一下这两个问题到底是怎么回事,在很多消息队列中都有一个概念叫partion,代表着分区,分区是我们提高消息队列消费
分类:
编程语言 时间:
2020-10-29 09:42:12
阅读次数:
19