• (01)kafka以及消息系统的基本介绍


      1、Kafka简介

      Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,用作LinkedIn的活动流(activity stream)和运营数据处理管道(pipeline)的基础。之后贡献给Apache基金会成为Apache的一个顶级项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。

      2、举例说明消息系统

      什么是消息系统,下面以12306网站和电商网站举例说明。

     

       12306网站或者电商网站要把消息发送给用户,无论是以短信方式、邮件方式或者其他方式,都会通过某种介质来完成,这种介质就是消息系统。发送消息的网站是生产者,生产者把消息发送给消息系统,消息系统通过自己的服务总线选择发送方式,最终发送给用户。消费消息的某种方式即为消费者。Kafka对应图中的消息系统,Kafka中的Broker就是服务总线。

      3、消息队列分类:

      (1)点对点(Queue)

      消息的生产者将消息发送到queue中,然后消息的消费者从queue中取出消息并且消费,消息被消费后,queue中不再存储,所以消息的消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但对于一个消息而言,只有一个消费者可以消费

      (2)发布与订阅(Topic)

      消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。Kafka处理的是Topic类型的消息

       注意:点对点的方式中可以有多个消费者,但是一个消息只能被一个消费者消费。发布与订阅中,消费存在每一个主题中,每个主题中的消息可能被一个或者多个消费者消费。

      4、Kafka作用

      监测活动数据,如网站用户相关行为数据(PV,UV等)

      监测运营数据,如核心系统性能指标数据(CPU利用率,磁盘利用率,IO使用率等)

      日志收集中心,如收集应用产生的日志

      消息系统,如12306网站,电商网站发送通知

      这些数据的特点:数据不可变,数据量庞大,需实时处理。

      5、Kafka的基本架构和概念

      (1)基本结构

       生产者产生的消息通过Kafka集群发送给消费者,集群中包括多台服务器,即多个Kafka服务,每个Kafka服务可以包含一个或者多个Broker。Kafka集群中的所有服务要注册到ZooKeeper集群中,如果某个Kafka服务宕掉,zookeeper可以将其信息同步到其他服务中。

      (2)基本概念
      Topic:特指Kafka处理的消息源
      Partition(分区):Topic物理上的分组。一个Topic可以有多个Partition,每个Partition是一个有序的队列
      Message:消息,通信的基本单位
      Producer:生产者。向Kafka的一个Topic发布消息的过程叫做生产
      Consumer:消费者。订阅Topic并处理其发布的消息的过程叫做消费
      Broker:缓存代理,Kafka集群中的一台或者多台服务器

      

  • 相关阅读:
    Deep Learning ——Yann LeCun,Yoshua Bengio&Geoffrey Hinton
    numpy模块
    损失函数、正则化、优化
    最近邻分类器,K近邻分类器,线性分类器
    python json,pickle模块
    python os,sys模块
    python random模块
    到2030年,人工智能会发展成什么样?
    AI的偏见:机器就是绝对理性的么?
    5G和AI:现在和未来的互补技术
  • 原文地址:https://www.cnblogs.com/javasl/p/12184690.html
Copyright © 2020-2023  润新知