kafka 优势+应用场景

kafka是什么?

kafka是一个高吞吐量的分布式发布订阅的消息系统,可以处理消费者规模的网站中的所有动作流数据

可以简单的理解为一个邮箱,生产者好比发送邮件的人,消费者好比接收邮件的人,kafka就是用来存储邮件信息,不过它提供了一些处理邮件的机制

kafka中的关键字的含义和作用:(顺序按照实际的操作书写)

1.producer(生产者)   消息生产者,将消息发送给kafka集群的客户端(kafka集群是由一个或者多个kafka节点组成)

2.broker(消息中间件处理节点,也就是kafka节点) 消息中间件处理节点,一个kafka节点就是一个broker,一个或者多个broker可以组成一个kafka集群

3.topic (主题) kafka根据topic对消息进行归类,发布到kafka集群的每条消息都需要指定一个topic

4.partition(可以理解为分区的意思) 一个topic可以分为多个partition,每个partition内部是有序的

5.consumerGroup(消费组)每个消费者属于一个特定的消费组,一条消息可以发送到多个不同的消息组,但是一个消息组中只能有一个消费者能够消费该消息

6.consumer(消费者)  消息消费者,从kafka集群里面读取数据的客户端

生产者将消息发送到kafka集群中的对应的topic中,然后消费组中的对应消费者,对接收到的消息进行消费(纯属个人总结,如果有误,请指出)

kafka的优势:

1.高吞吐量、低延迟:kafka每秒可以处理几十万条的消息,它的延迟最低只有几毫秒

2.持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失

3.容错性:允许集群中节点故障(若副本数量为N,则允许N-1个节点故障)

4.高并发:支持数千个客户端同时读写

5.可扩展性:kafka集群支持热扩展

kafka适合的应用场景

1.日志收集:一个公司可以用kafka收集各个服务的log,通过kafka以统一接口服务的方式,开放给各个消费者(consumer)

2.消息系统:解耦生产者和消费者、缓存消息等

3.用户活动跟踪:kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后消费者通过订阅这些topic来做实时的监控分析,也可以保存到数据库

4.运营指标:kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告

原文地址:https://www.cnblogs.com/lucky1212/p/14137422.html