• kafka学习(一)


    一 简介

    1.1 概述

      Kafka是最初由Linkedin公司开发,是一个分布式,分区的,多副本的,多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统)MQ 我自己理解为一种应用程序对应用程序的通信方法,常见可以用于web/Nginx日志,访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会成为了顶级开源项目。

      主要应用场景是:日志收集系统和消息系统

      Kafka的设计目标是:

         以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上的数据也能保持常数时间的访问时间;

        高吞吐率,即使在非常廉价的商用机器上也能做到单机支持每秒100k条信息的传输

        只是Kafka Server间的消息分区 及分布式消费 同时保持 每个partition内的消息顺序传输

    ············同时支持离线数据处理和实时数据处理

        Scale Out支持在线水平拓展

      消息系统介绍

        一个消息系统负责将数据从一个应用传递到另外一个应用,应用只需要关注数据,无需关注数据在两个或者多个应用间是如何传递的。分布式消息传递基于可靠地消息队列,在客户端应用和消息系统之间异步传递消息。有两种主要的消息传递模式:点对点传递模式,发布-订阅模式,大部分的消息系统使用发布-订阅模式。大部分的消息系统选用发布-订阅模式 Kafka就是一种发布订阅模式

      点对点消息传递模式

        点对点消息系统中 消息持久化到一个队列中  此时 将有 一个或多个消费者消费队列中的数据 但是一条消息只能被消费一次 当一个消费者消费了一个队列中的某条数据之后 该条数据则从消息队列中删除 该模式即使有多个消费者同时消费数据 也能保证数据处理的顺序,这种架构描述如下:

        

        生产者发送一个消息到queue 只是一个消费者能收到

    ·  发布-订阅消息传递模式

        在发布-订阅消息系统中 消息被持久化到一个Topic中,与点对点信息系统不同的是,消费者可以订阅一个或多个topic,消费者可以消费该topic中所有的数据 同一条数据可以被多个消费者消费 ,数据被消费之后不会马上删除。在发布-订阅消息系统中,消费者的生产者称为发布者,消费者称之为订阅者。描述如下

        

         发布者发送到topic的信息 只有订阅了topic的订阅者才会收到信息

      

      

  • 相关阅读:
    hdu5728 PowMod
    CF1156E Special Segments of Permutation
    CF1182E Product Oriented Recurrence
    CF1082E Increasing Frequency
    CF623B Array GCD
    CF1168B Good Triple
    CF1175E Minimal Segment Cover
    php 正则
    windows 下安装composer
    windows apache "The requested operation has failed" 启动失败
  • 原文地址:https://www.cnblogs.com/frankzone/p/11699581.html
Copyright © 2020-2023  润新知