Go必知必会系列:消息队列与Kafka

发布于:2023-10-25 ⋅ 阅读:(115) ⋅ 点赞:(0)

作者:禅与计算机程序设计艺术

1.背景介绍

消息队列(Message Queue)

消息队列是一种基于分布式应用之间传递消息的中间件,主要用于异步通信、解耦、削峰、流量削锋等,可以广泛应用于服务化架构中的多个系统之间、单个系统内部不同模块之间的通信,降低系统耦合性。

Kafka简介

Apache Kafka 是由 Apache 基金会开发的一个开源项目,是一个高吞吐量、高容错的分布式消息队列,它最初被称为 LinkedIn 的一个内部项目,LinkedIn 在 2010 年开源了 Kafka。Kafka 提供了以下几个主要功能:

  1. 发布/订阅模式:消息发布者将消息发送到一个指定的主题(Topic),消费者则从这个主题中读取消息。
  2. 可扩展性:通过分区(Partition)机制实现消息存储的水平扩展。
  3. 时效性:支持数据生产与消费时间超过磁盘保存时间的延迟。
  4. 数据持久化:支持数据可靠性保障。
  5. 容灾恢复:支持集群之间的数据同步备份。

    为什么要用Kafka?

    随着互联网、移动互联网、物联网等行业的蓬勃发展,信息量呈爆炸式增长,传统的数据采集方式已无法满足需求。而传统的数据采集方式(比如文件或数据库)存在性能问题,且无法实时响应业务需求。为了应对如此庞大的输入数据,我们需要实时处理能力强、高吞吐量的消息队列。 在互联网和移动互联网领域,通常采用分布式的架构,服务之间需要相互通信,但由于网络传输、

网站公告

今日签到

点亮在社区的每一天
去签到