
kafka
assasinSteven
本人暂时没啥说的......
请鼓掌......
展开
-
Zookeeper的PHP实践
Apache Zookeeper是我最近遇到的最酷的技术,我是在研究Solr Cloud功能的时候发现的。Solr的分布式计算让我印象深刻。你只要开启一个新的实例就能自动在Solr Cloud中找到。它会将自己分派到某个分片中,并确定出自己是一个Leader(源)还是一个副本。不一会儿,你就可以在你的那些服务器上查询到了。即便某些服务器宕机了也可以继续工作。非常动态、聪明、酷。将运行多个应用程序作为一个逻辑程序并不是什么新玩意。事实上,我在几年前就已写过类似的软件。这种架构比较让人迷惑,使用起来也.原创 2020-09-29 17:55:07 · 200 阅读 · 0 评论 -
Kafka系列10:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(下)
前言在今天文章开始之前,想和粉丝朋友们先分享一个好消息,作者坚持以原创的态度去努力写好每一篇文章,同时得到了一小部分粉丝朋友们的认可和 InfoQ 写作平台的支持。在此非常感谢粉丝朋友的支持,同时也非常感谢 InfoQ 小编的认可。接下来我会继续努力,不忘初心,用心写好每一篇文章。另外最近忙着搬家和工作的事情,导致没有多余的时间来更文,希望朋友们能够多多包涵。好了,今天我们我们来继续分析 Kafka 的常见面试题。文章概览 Kafka 的延迟队列你有了解吗? Kafka 的幂等性转载 2020-08-22 10:29:37 · 166 阅读 · 0 评论 -
Kafka系列9:面试题是否有必要深入了解其背后的原理?我觉得应该刨根究底(上)
前言在本文开始之前,作者一直有个疑惑,就是面试题是只写写问题和答案就草草了事,还是应该深入分析一下其背后发生的一些原理。和朋友探讨以后作者还是决定采用后者的方式,因为我认为不仅要做到知其一,更要知其二,所以我们就用讲解原理的方式来看看 Kafka 常见的面试题吧。另外避免文章过长,我打算接下来使用几篇文章来详解每道题背后的原理。好了废话有点多,直接开干。文章概览 kafka 如何保证数据的可靠性和一致性? kafka 为什么那么快? Kafka 中的消息是否会丢失和重复消费转载 2020-08-22 10:29:28 · 197 阅读 · 0 评论 -
Kafka系列8:一网打尽常用脚本及配置,宜收藏落灰!
前言通过前面 7 篇文章的介绍,小伙伴们应该对 Kafka 运行工作原理有一个相对比较清晰的认识了。为了提高平时的工作效率,帮助我们快速定位一些线上问题,比如查看部分 Partition 堆积机器 IP 等操作,这篇文章总结了一些平时常用到的一些 Kafka 命令及常用配置,方便日后查阅(该文章中提到的相关配置会持续更新)。文章概览 常用脚本及命令总结。 常用配置及说明。 常用命令总结一.kafka-topic.sh脚本相关常用命令,主要操作 Topic。 创建名字..转载 2020-08-22 10:29:20 · 832 阅读 · 0 评论 -
Kafka系列第7篇:你必须要知道集群内部工作原理的一些事!
前言上篇文章讲到了消息在 Partition 上的存储形式,本来准备接着来聊聊生产中的一些使用方式,想了想还有些很重要的工作组件原理没有讲清楚,比如一个 Topic 由 N 个 Partition 组成,那么这些 Partition 是如何均匀的分布在不同的 Broker 上?再比如当一个 Broker 宕机后,其上负责读写请求的主 Partition 无法正常访问,如何让从 Partition 转变成主 Partition 来继续提供正常的读写服务?想要解决这些问题,就必须先要了解一下 Kafka 集转载 2020-08-22 10:29:11 · 211 阅读 · 0 评论 -
Kafka系列第6篇:消息是如何在服务端存储与读取的,你真的知道吗?
前言经过前 5 篇文章的介绍,估么着小伙伴们已经对消息生产和消费的流程应该有一个比较清晰的认识了。当然小伙伴们肯定也比较好奇,Kafka 能够处理千万级消息,那它的消息是如何在 Partition 上存储的呢?今天这篇文章就来为大家揭秘消息是如何存储的。本文主要从消息的逻辑存储和物理存储两个角度来介绍其实现原理。文章概览 Partition、Replica、Log 和 LogSegment 的关系。 写入消息流程分析。 消费消息及副本同步流程分析。 Partition、转载 2020-08-22 10:29:00 · 141 阅读 · 0 评论 -
Kafka系列第4篇:消息发送时,网络“偷偷”帮忙做的那点事儿
前言上篇文章讲述了消息从生产到写入到 Broker 的 partition 上背后发生的故事,并提出了消息发送的网络模型的问题。本篇文章我们来尝试揭开其背后的神秘面纱,耐心看完你一定会有所收获。文章概览 Sender 线程的建连准备阶段和发送网络请求两阶段。 Selector 选择器处理网络请求过程。 Sender 线程的两阶段上篇文章结尾提到了三个重要的方法,分别是 ready()、send()、poll()。其中 ready()和 send()可以理解为第一阶段,即建连准转载 2020-08-22 10:28:41 · 121 阅读 · 0 评论 -
Kafka第3篇之一条消息如何被存储到Broker上
本文我们从以下 4 个方面来探讨下一条消息如何被准确的发送到 Broker 的 partition 上。1. 客户端组件2. 客户端缓存存储模型3. 确定消息的 partition 位置4. 发送线程的工作原理客户端组件 KafkaProducer: KafkaProducer 是一个生产者客户端的进程,通过该对象启动生产者来发送消息。 RecordAccumulator: RecordAccumulator 是一个记录收集器,用于收集客户端发送的消息,并将收集到的消转载 2020-08-22 10:28:22 · 158 阅读 · 0 评论 -
Kafka系列文章之安装测试-第2篇
上篇文章讲解了 Kafka 的基础概念和架构,了解了基本概念之后,必须得实践一波了,所谓“实践才是检验真理的唯一办法”,后续系列关于 Kafka 的文章都以 kafka_2.11-0.9.0.0 为例;另外为了让大家快速入门,本文只提供单机版的安装实战教程,如果有想尝试集群方案的,后面在出一篇集群安装的教程,废话不多说了,直接开干。安装1. 下载版本号:kafka_2.11-0.9.0.0下载地址:http://kafka.apache.org/downloads2. 安装# 安装转载 2020-08-19 19:07:23 · 135 阅读 · 0 评论 -
Kafka是什么-第一篇
前言如果有幸目睹过系统从零到一的演变过程,大家估计都会有一种感叹,就是随着业务复杂度和流量的不断上升,系统变得越来越难以维护,面对高额的维护成本,攻城师们不得不对现有架构进行改造升级,以便使得系统更适合当下业务的发展。说到架构改造升级,那到底该怎么改造呢?从哪里入手比较合适呢?这是一个比较大的话题,一两句话没办法讲述清楚,但是有一个出发点肯定是没有错的,就是为了更好的适应业务的发展需要进行必要的改造。假设几个场景,场景一:用户 A 刷了微博,可能对某类博主比较感兴趣,为了让用户 A 看到更多可能翻译 2020-08-19 19:06:38 · 156 阅读 · 0 评论