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应用

     日志收集,消息系统

  • 相关阅读:
    数据结构(java语言描述)顺序栈的使用(两个大数相加)
    DB2 Sql性能查看与优化
    spring默认为单例模式
    Java map的匿名类的初始化
    使用nohup后台执行ftp传输命令
    停止一个java的线程执行
    静态类
    XML语法随记
    Crontab有关
    string转Date转回String(JAVA)
  • 原文地址:https://www.cnblogs.com/fanshudada/p/10846475.html
Copyright © 2011-2022 走看看