Apache kafka,类消息队列系统,是一种高吞吐量的分布式发布订阅消息系统,即使是非常普通的硬件,也可以支持每秒数百万的消息。通过I/O的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。

  • 可靠性高
  • 吞吐量高
  • 伸缩性强
  • 高并发

作者:[Sol·wang] - 博客园,原文出处:https://www.cnblogs.com/Sol-wang/p/14792955.html

一、应用场景

缓存/消峰,解耦,异步通信

缓存/消峰
解耦
异步通信

二、模式

  • 点对点模式:消费者收到消息后,发送确认,MQ删除信息
  • 发布订阅模式:消费者收到消息后不删,供其它消费者再用,消息通过其它机制再删除

三、关键术语

术语 语义
Producer 客户端,生产者,消息提供者,负责发出消息到服务端Broker
Broker 服务端,负责处理生产者的消息,分发到Topic
Topic 服务端,消息的主题,消息的管道,消息的区分
Partition 服务端,Topic消息的存储块,多个分区(副本)间的消息同步,确保消息不会丢失
Consumer 客户端,消费者,读取(消费)服务端Partition的消息

四、基础架构

4.1 单机模式

一个生产者,多个消费者。

4.2 集群模式

一个生产者,多个Borker的集群模式,分区交叉同步副本,一个消费者组;
分区并行消费,对应多个消费者,形成消费组;当一个Server宕机后,不影响数据的丢失。

我的 Kafka 旅程 - 概念 · 特点 · 组成 · 模式 · 应用的更多相关文章

  1. Zookeeper与Kafka基础概念和原理

    1.zookeeper概念介绍 在介绍ZooKeeper之前,先来介绍一下分布式协调技术,所谓分布式协调技术主要是用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种共享资源,防止造成 ...

  2. Kafka下的生产消费者模式与订阅发布模式

    原文:https://blog.csdn.net/zwgdft/article/details/54633105   在RabbitMQ下的生产消费者模式与订阅发布模式一文中,笔者以“数据接入”和“事 ...

  3. kafka原理概念提炼

    Kafka Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实 ...

  4. Kafka 基础概念及架构

    一.Kafka 介绍 Kafka是⼀个分布式.分区的.多副本的.多⽣产者.多订阅者,基于zookeeper协调的分布式⽇志系统(也可以当做MQ系统),常⻅可以⽤于web/nginx⽇志.访问⽇志,消息 ...

  5. Kafka核心概念(转)

    转自:https://blog.csdn.net/liyiming2017/article/details/82805479 1.Kafka集群结构 实际上kafka的结构图是有些区别的,现在我们看下 ...

  6. 【Spark深入学习-11】Spark基本概念和运行模式

    ----本节内容------- 1.大数据基础 1.1大数据平台基本框架 1.2学习大数据的基础 1.3学习Spark的Hadoop基础 2.Hadoop生态基本介绍 2.1Hadoop生态组件介绍 ...

  7. kafka基本概念

    介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计. 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语:Kafka将消息以to ...

  8. kafka 名词概念

    ProducerConsumerBrokerTopicPartitionConsumer Group分布式 Broker     Kafka集群包含一个或多个服务器,这种服务器被称为brokerTop ...

  9. [Kafka] - Kafka基本概念介绍

    Kafka官方介绍:Kafka是一个分布式的流处理平台(0.10.x版本),在kafka0.8.x版本的时候,kafka主要是作为一个分布式的.可分区的.具有副本数的日志服务系统(Kafka™ is ...

  10. kafka基础概念

    kafka介绍 kafka is a distributed, partitiononed,replicated commited logservice. kafka是一个分布式的.易扩展的.安全性高 ...

随机推荐

  1. SQL调优系列--数据严重倾斜的连接优化

    背景 对于两个大表关联的场景,如果过滤条件的列值,存在高度倾斜,可以考虑根据反向滤值,进行过滤操作,减少连接的CPU时间. 数据准备 -- 状态表 tp01_state 记录 大表tp01 记录的多种 ...

  2. KingbaseES date 数据类型的两种格式

    关于date 数据类型,Oracle 与 PostgreSQL 格式是不同的,Oracle 是 日期 + 时间的类型,而PG 则只有日期.KingbaseES Oracle 模式则同时实现了二者类型, ...

  3. 机器语言编写helloworld

    kvmtool下载编译 git clone https://github.com/kvmtool/kvmtool.git 下载后进入到目录执行make即可. 补码 计算机怎么表示负数?以四位有符号数为 ...

  4. OpenHarmony社区运营报告(2023年9月)

      ●9月12日,由宁夏回族自治区教育厅.OpenAtom OpenHarmony(以下简称"OpenHarmony")项目群工作委员会指导,北京新大陆时代科技有限公司主办,宁夏职 ...

  5. DOM(文档对象模型):理解网页结构与内容操作的关键技术

    DOM(文档对象模型)定义了一种访问和操作文档的标准.它是一个平台和语言无关的接口,允许程序和脚本动态访问和更新文档的内容.结构和样式.HTML DOM用于操作HTML文档,而XML DOM用于操作X ...

  6. 深入理解 C++ 语法:从基础知识到高级应用

    C++ 语法 让我们将以下代码分解以更好地理解它: 示例 #include <iostream> using namespace std; int main() { cout <&l ...

  7. 从入门到精通:C++ 学习路线指南,附详细学习计划

    C++是一种高级编程语言,广泛用于开发操作系统.应用程序.游戏和各种工具.如果你想学习这门语言,以下是一个适合初学者的学习路线: 第一步:学习C++基础知识 在学习C++之前,你需要掌握一些基础知识, ...

  8. 掌握 C++ 编译过程:面试中常见问题解析

    C++是一种高级编程语言,但是计算机并不能直接理解它.因此,需要将C++代码翻译成计算机可以理解的机器语言.这个过程就是编译过程,是C++程序从源代码到可执行文件的转换过程,包括预处理.编译.汇编和链 ...

  9. Linux之识别HBA的WWN

    一.概念 FC HBA,也即Fibre Channel Host Bus Adapter,光纤通道主机适配器,简称光纤适配器. 在FC网络环境中,主机需要和FC网络.FC存储设备(SAN磁盘阵列)连接 ...

  10. Hadoop之Hive架构与设计

    Hadoop之Hive架构与设计 Hadoop是一个能够对大量数据进行分布式处理的软件框架.具有可靠.高效.可伸缩的特点. HDFS:全称为Hadoop分布式文件系统(Hadoop Distribut ...