D91ae285841807ffad14216acf4eb3c1
Apache kafka实战笔记 —— 初识kafka

[TOC]

概述:

本文大多是《Apache kafka实战》这本书的总结和感悟,不会完全照搬书中内容,目的在于通过问答的形式,总结kafka知识,只适用于初学者以及想购买《Apache kafka实战》的同学,该书是一本非常适合初学者的入门书籍,推荐购买。

一句话总结Apache kafka?

Apache kafka是一款开源的消息引擎

什么是消息引擎?

消息引擎是一组规范,企业利用这组规范在不同系统之间传递语义准确的消息,实现松耦合的异步式数据传递。

kafka使用什么数据格式传递消息?

二进制字节序列

kafka使用哪种传输协议?

点对点模型

系统A发出的消息,只能被系统B消费,比如日常生活中的通电话。

发布/订阅模型

在发布/订阅模型中,存在一个主题(topic)的概念(我们可以将主题理解成容器),消息的发布方称为发布者(publisher),消息的接收方称为订阅者(Subscribe),可能存在多个发布者向相同的主题发送数据,也可能存在多个订阅者同时订阅一个主题,消费主题中的数据。

我们为什么需要kafka?

削峰填谷

削峰填谷指的是缓冲上游系统的突发流量,比如一个秒杀系统,上游系统可能只是生成订单,而下游系统却可能存在验证用户信息、验证库存、查询黑名单、调用支付接口等重逻辑,如果直接调用的话,很容易由于下游系统处理数据能力差,导致订单堆积,严重时可能会造成系统雪崩。

解耦

弱化系统之间的依赖关系,减少系统间的相互影响。比如下游系统段时间内当机,可能会导致消息堆积,而不会导致系统直接不可用。

最后,期待您的订阅和点赞,专栏每周都会更新,希望可以和您一起进步,同时也期待您的批评与指正!

© 著作权归作者所有
这个作品真棒,我要支持一下!
一个坚持原创的小专栏。分享编程知识,提升工作效率,致力于通过简单的语言,把编程这点事讲清楚。涵盖内容:java、设...
0条评论
top Created with Sketch.