zoukankan      html  css  js  c++  java
  • kafka

    一.数据运输面临问题

    1.数据来源不同,webserver,物联网,用户行为/接口数据等

    2.数据速度快

    3.数据量大

    二.message queue信息队列

    1.各个系统隔离,挂一个不影响

    2.增加可扩展性

    3.消息广播,告诉每一台机器

    4.容易处理数据高峰

    5.缓存失败的数据

    三.message queue面临挑战

    1.不能长期存储数据

    2.如何处理上下游连接失败

    3.如何快速发送消息

    4.数据量大,如何扩张队列宽度

    四.Kafka结构

    Kafka-分布式实时数据处理系统,可以横向扩展、高可靠,而且还变态快

    1.push 高输出,逻辑复杂

    2.pull 逻辑简单,可短暂存放,有重播功能

    五.kafka处理过程

    topic-话题,数据按话题分类

    partition-分区,每个分区只能属于一个topic

    优点:可扩展,提高读写速度

    offset-分区上的索引,offset丢失只能重新查找

    API: publish往topic写 和consume消费,可从指定offset开始读

    producer(push)-->message queue-->consumer(pull)

    consumer group 一个consumer接受消息,组内共享

    六.kafka存储在log file,每一行是一个message

    log file是临时存储,可以配置存储时间,可以配置存储空间,超过多少G删除

    Kafka 存储格式 message无压缩或者一个message存多个压缩的message

    七.kafka对IO(input,output)操作,数据复制的优化

    读写多用序列存取sequence access 不用随机存取random access

    IO优化-zerocopy

    partition有两种角色leader和follower

    producer通过leader写,follower主动从leader读数据

    八.Kafka应用

     日志收集,消息系统

  • 相关阅读:
    c++ accumulate
    Croc Champ 2013 Round 2 (Div. 2 Edition) B. Ksusha the Squirrel
    ural 1017. Staircases
    ural 1012Kbased Numbers. Version 2 1013. Kbased Numbers. Version 3
    ural 1008. Image Encoding
    ural 1009. Kbased Numbers
    echo命令去掉换行符
    linux中shell 参数变量
    C#中可变字符串StringBuilder和String
    C#异常处理语句
  • 原文地址:https://www.cnblogs.com/fanshudada/p/10846475.html
Copyright © 2011-2022 走看看