朱小厮的博客

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

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

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

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

2018-04-07 00:56:44

阅读数:674

评论数:0

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

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

2017-12-12 20:09:51

阅读数:4063

评论数:29

kafka数据可靠性深度解读

本文收录于InfoQ,未经允许不得转载。 1 概述 Kakfa起初是由LinkedIn公司开发的一个分布式的消息系统,后成为Apache的一部分,它使用Scala编写,以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Sp...

2017-05-02 19:19:32

阅读数:15266

评论数:44

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

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

2017-01-26 10:42:12

阅读数:3980

评论数:19

Kafka日志清理之Log Deletion

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

2018-05-23 12:35:51

阅读数:79

评论数:0

Kafka消息格式中的变长字段(Varints)

kafka从0.11.0版本开始所使用的消息格式版本为v2,这个版本的消息相比于v0和v1的版本而言改动很大,同时还参考了Protocol Buffer而引入了变长整型(Varints)和ZigZag编码。为了更加形象的说明问题,首先我们来了解一下变长整型。 Varints是使用一个或多...

2018-05-13 16:25:44

阅读数:110

评论数:0

一文看懂Kafka消息格式的演变

摘要 对于一个成熟的消息中间件而言,消息格式不仅关系到功能维度的扩展,还牵涉到性能维度的优化。随着Kafka的迅猛发展,其消息格式也在不断的升级改进,从0.8.x版本开始到现在的1.1.x版本,Kafka的消息格式也经历了3个版本。本文这里主要来讲述Kafka的三个版本的消息格式的演变,文章偏长...

2018-05-13 16:21:20

阅读数:1908

评论数:3

Scala与Java集合互转摘要

在上一篇文章《再看Kafka Lag》中笔者提及了Scala与Java集合互转的内容,但是并未有详述,本文对此做一个补充说明,方便在使用的时候可以随时翻阅。 对于集合而言,Scala从2.8.1开始引入scala.collection.JavaConverters用于Scala与Java集合的互...

2018-04-23 22:24:08

阅读数:109

评论数:0

再看Kafka Lag

在《Kafka的Lag计算误区及正确实现》一文中提及了kafka.admin.ConsumerGroupCommand.PartitionAssignmentState无法被外部访问,故要么将PartitionAssignmentState前的protected修饰符去掉,要么像《 如何获取Kaf...

2018-04-21 19:25:17

阅读数:119

评论数:0

Kafka解析之topic创建(3)——合法性验证

前文摘要 在《Kafka解析之Topic创建(1)》这篇文章中,我们讲述了创建Topic的方式有两种: 如果kafka broker中的config/server.properties配置文件中配置了auto.create.topics.enable参数为true(默认值就是true),那么...

2018-04-18 20:24:10

阅读数:113

评论数:0

集群管理工具KafkaAdminClient——改造

前文概述 在上一篇文章《集群管理工具KafkaAdminClient——原理与示例》中讲述了KafkaAdminClient的功能以及相应的原理,但是同时也提出了目前的KafkaAdminClient并没有非常的完善,还有许多功能还需要去丰富,这些功能可以自定义实现,在《如何获取Kafka的消费...

2018-04-18 20:19:55

阅读数:133

评论数:0

集群管理工具KafkaAdminClient——原理与示例

前言 一般情况下,我们都习惯使用Kafka中bin目录下的脚本工具来管理查看Kafka,但是有些时候需要将某些管理查看的功能集成到系统(比如Kafka Manager)中,那么就需要调用一些API来直接操作Kafka了。在Kafka0.11.0.0版本之前,可以通过kafka-core包(Kaf...

2018-04-18 20:14:46

阅读数:208

评论数:0

如何获取Kafka的消费者详情——从Scala到Java的切换

前文摘要 在上一篇文章《Kafka的Lag计算误区及正确实现》中介绍了如何计算消费者的消费滞后量(Lag),并且讲解了如何调用Kafka的kafka.admin.ConsumerGroupCommand文件中的KafkaConsumerGroupService来发送OffsetRequest和O...

2018-04-16 23:47:29

阅读数:154

评论数:2

Kafka的Lag计算误区及正确实现

前言 消息堆积是消息中间件的一大特色,消息中间件的流量削峰、冗余存储等功能正是得益于消息中间件的消息堆积能力。然而消息堆积其实是一把亦正亦邪的双刃剑,如果应用场合不恰当反而会对上下游的业务造成不必要的麻烦,比如消息堆积势必会影响上下游整个调用链的时效性,有些中间件如RabbitMQ在发生消息堆积...

2018-04-16 01:19:50

阅读数:358

评论数:3

提升你的代码——Lambda!

前言 上个月(2018年2月)看过一份调研报告,对于Java版本而言,生产环境中用的最多的是JDk6和JDK7,虽然JDK8在自2014年3月发布至今使用占比仍然很小,想想月底JDK10都要出来了呀。JDk8引入了很多新的特性,比如接口默认值、方法引用、Lambda表达式、函数式接口、Optio...

2018-03-11 11:21:05

阅读数:446

评论数:2

Kafka解析之topic创建(2)

前言 上一篇Kafka解析之topic创建(1)中的介绍了怎样创建一个topic以及对应的replica-assignment参数的一些使用细节,本文继续来讲述一下自动分配方案的具体算法实现,包括未指定机架的分配策略和指定机架的分配策略。 承接 如果在创建topic的时候并没有指定repli...

2018-02-10 11:18:44

阅读数:341

评论数:0

Kafka解析之topic创建(1)

在使用kafka发送消息和消费消息之前,必须先要创建topic,在kafka中创建topic的方式有以下2种: 如果kafka broker中的config/server.properties配置文件中配置了auto.create.topics.enable参数为true(默认值就是true)...

2018-02-10 11:15:01

阅读数:918

评论数:0

如何看待消息中间件的选型

前言 近来有很多网友留言:公司要做消息中间件选型,该如何选?你哪个比较好?我的回答一般是:It’s a nice topic~ 如果随意回答一个的话显得很不严谨也不太负责任,如果严谨的回答的话一天就不用干活了。消息选型的确是一个大论题,实则说来话长的事情又如何长话短说。被问的越多越觉得需要整理一...

2018-02-10 11:08:40

阅读数:606

评论数:0

Kafka解惑之Old Producer(4)——Case Analysis

上接: 1. Kafka解惑之Old Producer(1)—— Beginning 2. Kafka解惑之Old Producer(2)——Sync Analysis 3. Kafka解惑之Old Producer(3)——Async Analysis 在前面三篇文章中详细了解了Old...

2018-02-02 12:52:08

阅读数:207

评论数:0

Kafka解惑之Old Producer(3)——Async Analysis

上接: 1. Kafka解惑之Old Producer(1)—— Beginning 2. Kafka解惑之Old Producer(2)——Sync Analysis 讲述完了Sync模式下的结构脉络,下面就来聊一聊Async的,Async会将客户端所要发送的消息暂存在LinkedBloc...

2018-02-01 16:47:24

阅读数:169

评论数:0

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