分布式消息队列Kafka原理

527 篇文章 535 订阅 ¥49.90 ¥99.00
52 篇文章 18 订阅 ¥39.90 ¥99.00

消息队列是位于生产者和消费者之间的中间件,解除了生产者和消费者的直接依赖关系,使得软件架构更容易扩展和伸缩。能够缓冲生产者产生的数据,防止消费者无法及时处理生产者产生的数据。
kafka架构由Producer、Broker和Consumer三类组件构成,其中Producer将数据写入Broker、Consumer则从Broker上读取数据进行处理,而Broker构成了连接Producer和Consumer的缓冲区。Kafka Broker中的消息被划分成若干个topic,同属一个topic的所有数据按照某种策略被分成多个partition,以实现负载分摊和数据并行处理。

分布式Kafka集群部署参考:
CentOS7搭建Kafka2.6分布式集群

一、Kafka设计动机

业务简单,只需要一条数据流水线即可,即从前端机器上收集日志,直接导入后端的存储系统中进行分析。当业务规模发展到一定程度后,业务逻辑会变得复杂起来,数据量也会越来越多,此时可能需要增加多条数据线,每条数据线将收集到的数据导入不同的存储和分析系统中。此时若仍采用之前的数据收集模式,将收集到的数据直接写入后端,则会产生以下几个潜在的问题:

  • 数据生产者和消费者耦合度过高。
  • 生产者和消费者间数据处理速率不对等。如果生产者产生数据速度过快,可能会导致消费者压力过大,设置崩溃。
  • 大量并发的网络连接对后端消费者不够友好。大量生产者直接与消费者通信,对消费者造成过大的网络并发压力,会成为系统扩展过程中潜在的性能瓶颈。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最笨的羊羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值