zoukankan      html  css  js  c++  java
  • 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也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告

  • 相关阅读:
    实验0 了解和熟悉操作系统
    学习进度条
    0302软件构建与教学
    评论任务
    学习进度条
    sprint3个人总结
    软件工程学期总结
    6.3 学术诚信与职业道德
    阅读《构建之法》第8、9、10章
    nodejs学习心得
  • 原文地址:https://www.cnblogs.com/lucky1212/p/14137422.html
Copyright © 2011-2022 走看看