Kafka基本架构和概述

我想大家对Kafka或多或少都有所耳闻,那么它究竟是什么呢?其实说白了也很简单,它其实就是一个分布式的消息队列,也就是我们通常所说的消息的发布和订阅,只是它的目标更倾向于高吞吐和低延迟。那我们就从头开始来看看Kafka究竟是如何诞生的。

发布/订阅消息

在正式开始聊Kafka之前,我们来看看什么是消息的发布和订阅。我们先来看这样一个例子:系统中有两个应用程序,然后我们有一个metrics的dashboard,当这两个应用程序开始运行时,会把相关的metric数据发送到dashboard所在的server,然后就可以把它们的metric显示出来,简单的架构如下所示:

这种架构看起来还是很清晰的,但是当我们的系统变得稍微庞大起来,有了更多的应用,也需要有了不同的metric处理方式,比如我们既需要显示metrics的数据到一个UI上,又需要分析这个metric或者根据metric的数据来做一些monitor发送alerts之类的,那整个系统就可能变得复杂起来,甚至有时你会觉得有一些系统,比如monitor其实并不需要你一直把metric发送过去,最好是做个poll的形式,让monitor主动找application来拿数据,于是你的系统变成了下面这样:

这样一来整个系统看起来就很乱,程序员的特性让你蠢蠢欲动,捋起袖子来refactor一下呗,你想啊想,要是能在中间加一层,让所有的应用端把数据都发送给这一层,然后对这个数据感兴趣的server再统一到这一层来拿就完美了,于是你的想法就变成了下面这样的一个架构:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值