朱小厮的博客

你若盛开 蝴蝶自来 你若精彩 天自安排

排序:
默认
按更新时间
按访问量

这个标题改了好多次,没啥可说的——关注公众号+加微信群,和大家一起畅聊技术

加微信公众号,进入群聊。

2018-09-15 09:31:07

阅读数:206

评论数:4

消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局

一、前言 消息队列中间件(简称消息中间件)是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下提供应用解耦、弹性伸缩、冗余存储、流量削峰、异步通信、数据同步等等功能,其作为分布式系统架构中的一个重要组件...

2018-04-07 00:56:44

阅读数:5704

评论数:2

《RabbitMQ实战指南》笔误及改进记录

2017年12月上旬笔者的一本新书——《RabbitMQ实战指南》上架,里面的校稿都是自己独自完成的,一共进行了15遍,但还是会有漏网之鱼。本篇博文用来记录现在发现的一些笔误,一是给购书的朋友一个参考,以防被笔误所迷惑;二是提供一个记录笔误的地方,方便再次印刷修改之用,这样也能进一步的完善这本书。...

2017-12-12 20:09:51

阅读数:7699

评论数:49

消息中间件(Kafka/RabbitMQ)收录集

本篇主要整理工作中遇到的一些消息中间件的相关知识,包括Kafka, RabbitMQ, RocketMQ, ActiveMQ等,不排除收录其他消息中间件的可能。 这里会持续收录相关知识,包括安装、部署、使用示例、监控、运维、原理等。 所有新撰写的与中间件有关的文章都会收录与此,注意保存本文...

2017-01-26 10:42:12

阅读数:6114

评论数:19

为什么Kafka中的分区数只能增加不能减少?

欢迎支持《RabbitMQ实战指南》以及关注微信公众号:朱小厮的博客。 当一个主题被创建之后,依然允许我们对其做一定的修改,比如修改分区个数、修改配置等,这个修改的功能就是由kafka-topics.sh脚本中的alter指令所提供。 我们首先来看如何增加主题的分区数。以前面的主题topic-...

2018-09-21 17:14:29

阅读数:118

评论数:0

如何把一个运行完好的Kafka搞崩溃

Kafka其实也只是一个JVM进程,要想把一个进程搞崩溃,相信大家的nice idea(骚操作)也不少。本文中只是用了一种很常见的方式来使得Kafka的进程崩溃,通过分析崩溃的原因来让我们可以更合理的使用Kafka。 你可以试着在一台普通的Linux机器上创建10000个分区的主题。比如下面示例...

2018-09-21 17:12:12

阅读数:124

评论数:0

[Kafka与Spark集成系列四] Spark运行结构

在分布式环境下,Spark集群采用的是主从架构。如下图所示,在一个Spark集群中,有一个节点负责中央协调,调度各个分布式工作节点,这个中央协调节点被称为驱动器(Driver)节点,与之对应的工作节点被称为执行器(Executor)节点。驱动器节点可以和大量的执行器节点进行通信,它们也都作为独立的...

2018-08-26 16:56:55

阅读数:190

评论数:0

[Kafka与Spark集成系列三] Spark编程模型

在Spark中,我们通过对分布式数据集的操作来表达我们的计算意图,这些计算会自动地在集群上并行进行。这样的数据集被称为弹性分布式数据集(Resilient Distributed Dataset),简称RDD。RDD是Spark对分布式数据和计算的基本抽象。在Spark中,对数据的所有操作不外乎创...

2018-08-26 16:54:27

阅读数:137

评论数:0

[Kafka与Spark集成系列二] Spark的安装及简单应用

下载Spark安装包是安装的第一步,下载地址为http://spark.apache.org/downloads.html。截止撰稿之时,Spark最新版本为2.3.1,如下图所示,我们可以从官网中选择spark-2.3.1-bin-hadoop2.7.tgz进行下载。 在下载过后,...

2018-08-26 16:48:00

阅读数:181

评论数:0

[Kafka与Spark集成系列一] Spark入门

Spark是一个用来是实现快速而通用的集群计算的平台。Spark是UC Berkeley AMP Lab(加州大学伯克利分销的AMP实验室)所开源的类MapReduce的通用并行框架, 现在已经是Apache中的一个顶级项目。Spark使用Scala语言开发,支持Scala、Java、Python...

2018-08-26 16:41:38

阅读数:243

评论数:0

Kafka分区分配策略(4)——分配的实施

接上文: 1.【Kafka分区分配策略(1)——RangeAssignor】 2.【Kafka分区分配策略(2)——RoundRobinAssignor和StickyAssignor】 3.【Kafka分区分配策略(3)——自定义分区分配策略](https://blog.csdn.ne...

2018-07-19 22:25:45

阅读数:233

评论数:0

Kafka分区分配策略(3)——自定义分区分配策略

接上文: 1.【Kafka分区分配策略(1)——RangeAssignor】 2.【Kafka分区分配策略(2)——RoundRobinAssignor和StickyAssignor】 自定义分区分配策略 读者不仅可以任意选用Kafka所提供的3种分配策略,还可以自定义...

2018-07-19 22:21:19

阅读数:269

评论数:0

Kafka分区分配策略(2)——RoundRobinAssignor和StickyAssignor

接上文【Kafka分区分配策略(1)——RangeAssignor】 RoundRobinAssignor分配策略 RoundRobinAssignor策略的原理是将消费组内所有消费者以及消费者所订阅的所有topic的partition按照字典序排序,然后通过轮询方式逐个将分区...

2018-07-19 22:04:11

阅读数:265

评论数:0

Kafka分区分配策略(1)——RangeAssignor

引言 按照Kafka默认的消费逻辑设定,一个分区只能被同一个消费组(ConsumerGroup)内的一个消费者消费。假设目前某消费组内只有一个消费者C0,订阅了一个topic,这个topic包含7个分区,也就是说这个消费者C0订阅了7个分区,参考下图(1)。 此时消费组内又加入...

2018-07-19 22:01:48

阅读数:270

评论数:0

直击Kafka的心脏——控制器

在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。当某个分区的leader副本出现故障时,由控制器负责为该分区选举新的leader副本。当检测到某个分区的ISR集合发生变化时,由控制...

2018-06-30 12:07:44

阅读数:922

评论数:0

Kafka参数图鉴——unclean.leader.election.enable

Kafka参数图鉴——unclean.leader.election.enable 如何提高Kafka可靠性是一个可以长篇大论的主题。很多初学者会简单的认为将客户端参数acks设置为-1即可保证Kafka的可靠性,显然这是很片面的观点。就可靠性本身而言,它并不是一个可以用“是”或者“否”来衡量的...

2018-06-24 11:44:12

阅读数:429

评论数:0

Kafka解惑之时间轮(TimingWheel)

Kafka中存在大量的延迟操作,比如延迟生产、延迟拉取以及延迟删除等。Kafka并没有使用JDK自带的Timer或者DelayQueue来实现延迟的功能,而是基于时间轮自定义了一个用于实现延迟功能的定时器(SystemTimer)。JDK的Timer和DelayQueue插入和删除操作的平均时间复...

2018-06-14 19:42:57

阅读数:805

评论数:3

Kafka参数broker.id详解

kafka在启动服务之前必须要设定3个参数:broker.id、log.dirs、zookeeper.connect,这里我们就来重点说一下broker.id这个参数。在Kafka集群中,每个broker都有一个唯一的id值用来区分彼此。Kafka在启动时会在zookeeper中/brokers/...

2018-06-02 11:18:14

阅读数:1741

评论数:2

Kafka日志清理之Log Compaction

在上一篇文章《Kafka日志清理之Log Deletion》中介绍了日志清理的方式之一——日志删除,本文承接上篇,主要来介绍Log Compaction。 Kafka中的Log Compaction是指在默认的日志删除(Log Deletion)规则之外提供的一种清理过时数据的方式。如下...

2018-05-28 19:57:16

阅读数:667

评论数:0

Kafka日志清理之Log Deletion

Kafka将消息存储在磁盘中,为了控制磁盘占用空间的不断增加就需要对消息做一定的清理操作。Kafka中每一个分区partition都对应一个日志文件,而日志文件又可以分为多个日志分段文件,这样也便于日志的清理操作。Kafka提供了两种日志清理策略: 日志删除(Log Deletion):按照一...

2018-05-23 12:35:51

阅读数:1059

评论数:2

提示
确定要删除当前文章?
取消 删除