zoukankan      html  css  js  c++  java
  • kafka2 简单介绍

    kafka是JMS的一种实现

    JMS(java message service):middle ware,中间件技术。
    Queue:队列模式,P2P,点对点。
    publish-subscribe:主题模式,发布订阅模式。

    消息中间件具体了解点这里

    kafka--分布式流计算平台

    类似于消息系统发布订阅数据流。
    以分布式、副本集群方式存储数据流。
    实时处理数据流。

    构建实时数据流管道,水平可伸缩,容错,速度快。

    kafka特点

    1.巨量数据:TB级
    2.高吞吐量:支持每秒百万消息
    3.分布式:支持在多个server之间进行消息分区
    4.多客户端支持:和多语言进行协同。

    kafka是消息系统,组件

    zk //协同系统
    broker //代理,即kafka server,并不维护哪个消费者消费了消息
    producter //生产者
    consumer //消费者,维护了消费的消息状态
    consumer group //消费者组,每个组中只有一个消费者可以消费消息。
    topic //主题

    kafka的核心设计

    1.消息缓存于FileSystem的存储,数据被即刻写入OS内核页,并缓存以及清理磁盘(可以配置)。
    2.消息被消费后,kafka长时间驻留消息,如有必要,可以实现重复消费。
    3.对分组消息使用消息set,防止网络过载。
    4.不像大多数消息系统那样,将消费消息的元数据保存在server,而是将其保存在消费者。这样可以解决一些问题,比如:松散消息导致出错;相同消息的多次分发。
    5.消费者状态默认存在zk中,也可以存在其它的OLTP中。
    6.kafka中的生产和消费是push-and-pull模式(推拉模式,生产者push消息到broker中,消费者从broker中pull消息出来)。
    7.kafka没有主从模式,所有broker地位相同,broker数据均在zk中维护,并在producter和consumer中共享。
    8.kafka的LB(load balance,负载均衡)策略允许producer动态发现broker。
    9.producer维护了broker的连接池,并能够通过zk的watcher call机制实时进行更新。
    10.producer可以选择同步或异步的方式向broker发送消息。

    消息压缩

    1.producer压缩消息(GZIP + snappy),consumer解压缩。
    2.压缩的消息没有深度限制。
    3.在message的header中有一个compression byte来区分消息是否被压缩,这个压缩字节的低2位代表压缩类型,值为0表示未压缩。
    4.消息压缩机制对于使用kafka进行跨数据中心建立数据镜像非常有用,压缩格式可以降低网络带宽,使一个active数据中心能向一个passive数据中心传输大量数据。

    kafka镜像

    将源集群的数据副本化到target kafka集群

  • 相关阅读:
    VC++ 在Watch窗口显示GetLastError值以及详细信息
    VC++ Debug内存值
    VC++ 给你的代码强制加一个硬断点
    wchat_t与char互转
    使用forever运行nodejs应用
    C++ 检查Windows服务运行状态
    【转】Android横竖屏重力自适应
    可配置多功能门 SN74LVC1G57, 1G58, 1G97, 1G98, 1G99
    VPW协议解析
    STM32的TAMPER-RTC管脚作为Tamper使用
  • 原文地址:https://www.cnblogs.com/zhengna/p/9415292.html
Copyright © 2011-2022 走看看