Spring Cloud微服务实战 打造企业级优惠券系统 2-11 kafka术语的介绍

0    课程地址

https://coding.imooc.com/lesson/380.html#mid=28227

1    课程重点
1.1  点对点消息系统和发布订阅消息系统区别

点对点消息系统:

a  点对点消息系统是把消息持久化到消息队列中,

b  消费者消费掉消息队列的数据后,数据会从消息队列中删除,

c  是顺序发送

发布订阅消息系统:

a  消息持久化到topic中,不同的topic标识信息属于不同的topic,消费者可订阅一个或多个topic

b  数据被消费后不会被删除

c  异步处理

1.2  常见术语

topic:数据所属类(类似于数据库中的表的概念)

partition:一个topic可能使用一个或者多个partition(创建kafka topic时,默认使用一个partition,另外可在kafka命令行客户端,指定partition个数)。每个partition,可能使用多个文件存储(冗余文件备份,超过一定限制后,会对文件切分)

offset:每个partition都有偏移量,每个消息都有针对partition的64字节的偏移量,指定消息在数据中的起始位置。

父本:父本是对partition的备份,作用为防止数据丢失(单机版kafka不能设置父本,父本分布在不同的机器上)。消费者不会从父本读取数据,它会从kafka leader中读取数据

kafka brokers:kafka集群包括1到多个服务器,每个服务器被称为kafka broker。broker存储topic中的数据。topic有n个partition,集群有n个broker,每个broker存储对应的partition,维护负载均衡

生产者:生产者发送消息存储到partition中,也可指定数据存储到哪个partition中,(代码设定即可)

消费者:可从broker中读取数据,消费者可消费多个topic中的数据,多个消费者构成消费者组

1.3  kafka消息流转过程

发布者将消息发布到kafka topic中,broker接收到订阅者发布的消息后,将消息追加到用于追加的partition文件中。

2    其他
2.1  kafka是什么

是分布式可划分可以对消息持久化的微服务,是发布订阅消息系统,作用类似于缓存。

2.2  kafka优点

a  可扩展性,支持集群热扩展

b  可靠性和安全性,分区机制,容错机制,父本机制,它有数据处理低延迟,保证数据的零丢失。

c  高性能,高分度差,在tb级别的数据存储下,依然能保持稳定的性能。

2.3  常见概念

生产者(发布者):消息发送者

消费者(订阅者):消息接受者

原文地址:https://www.cnblogs.com/1446358788-qq/p/14221680.html