1):Apache kafka介绍及架构详解

假设一个场景:
数据源:
应用系统A 产生的用户访问数据和订单数据
10000 条一秒钟
push:推送数据
消息系统:队列 产生的数据量>数据量
pusll:拉取数据

消息系统kafka:
分布式系统队列系统
分布/订阅功能
不恰当比喻:
发布者来发布文章 -> 推送文章
微信公众号: 类似于 -Topic主题/类别
订阅者1
订阅则2
订阅则3
订阅则4
...订阅者 就能接受到这篇文章消息 kafka的功能:
-1:分布式消息Message系统(发布/订阅功能)
0.8.x功能 -2:Connector API
将Kafka Topics中的数据保存到RDBMS数据库中
0.9.x -3:Stream Compute
可以对Kafka中的数据进行流实计算功能
0.10.x SparkStreaming与kafka集成,使用的版本为0.8.2.x kafka系统能够通过分布式提交日志处理数据,kafka中topics用户
定于的一个类别 Kafka Cluster:
- 消息系统,储存数据
提交日志格式文件
- 分布式:
有多台数据,进行储存数据
- Topic
储存某一类的数据(消息),类比于微信公众号
储存数据类似于HDFS
-i,按照分区partition储存
相当于文件夹下面有很多文件
-ii,分区数据有多个副本
replications(每个数据有3个副本)
- 分布/订阅
消费者(用户)可以订阅Topic(类比于关注某个微信公众号)
只要生产者向Topic发送数据,订阅者就可以自动接受到数据
进行处理

一个典型的Kafka集群中包含若干个Producer,(Kafka支持水平扩展,一般Broker
数量越多,集群吞吐率越高),若干个Consumer Group,以及一个Zookeeper集群 Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化
时进行reablance。 Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅
并消费消息

TOPIC & PARTITION

一个Topic分为多个Partition来进行数据管理
一个Partition中的数据是有序,不可变的
使用偏移量(offset)唯一标识一条数据,是
一个long类型的数据; Partiton接受到producer发送过来数据后,会
产生一个递增的offset偏移量数据,同是将数
据保存到本地的磁盘文件中(文件内容追加
的方式写入数据)

    基本懂得Kafka流程,搭建起来很简单

Kafka基础认识的更多相关文章

  1. Zookeeper与Kafka基础概念和原理

    1.zookeeper概念介绍 在介绍ZooKeeper之前,先来介绍一下分布式协调技术,所谓分布式协调技术主要是用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种共享资源,防止造成 ...

  2. kafka 基础知识梳理及集群环境部署记录

    一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...

  3. kafka基础介绍

    kafka基础介绍 一.kafka介绍 1.1主要功能 根据官网的介绍,kafka是一个分布式流媒体的平台,它主要有三大功能: 1.11:It lets you publish and subscri ...

  4. [转帖]kafka基础知识点总结

    kafka基础知识点总结 https://blog.csdn.net/qq_25445087/article/details/80270790 需要学习. 1.kafka简介 kafka是由Apach ...

  5. 1.kafka基础架构

    kafka基础架构 ## 什么是kafka? Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域. 1.什么是消息队列? 2.使用消息队列的好处 1)解耦 允许你独立的 ...

  6. 【对线面试官】Kafka基础入门

    <对线面试官>系列目前已经连载33篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...

  7. Kafka基础教程(四):.net core集成使用Kafka消息队列

    .net core使用Kafka可以像上一篇介绍的封装那样使用(Kafka基础教程(三):C#使用Kafka消息队列),但是我还是觉得再做一层封装比较好,同时还能使用它做一个日志收集的功能. 因为代码 ...

  8. Kafka基础系列第1讲:Kafka的诞生背景及应用

    Kafka 是由 LinkedIn 开发的一个分布式的消息系统,使用 Scala 编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如 Cloudera.Apache Sto ...

  9. kafka 基础知识梳理-kafka是一种高吞吐量的分布式发布订阅消息系统

    一.kafka 简介 今社会各种应用系统诸如商业.社交.搜索.浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战: 如何收集这些巨大的信息 如何分析它 如何及时做到如上两点 ...

  10. kafka基础知识梳理

    一.Kafka的基本概念 关键字: 分布式发布订阅消息系统:分布式的,分区的消息服务 Kafka是一种高吞吐量的分布式发布订阅消息系统,使用Scala编写. 对于熟悉JMS(Java Message ...

随机推荐

  1. 使用cancelBubble竟然可以阻止所有浏览器的冒泡?

    以前一直以为cancelBubble是IE8及以下的专属,今天做一个测试的时候意外发现了所有浏览器都支持,便提出来希望有哪位解释下. 1.使用原生js在FF下和chrome下两种方法都可以阻止冒泡 d ...

  2. leetcode之二叉树的层序遍历

    1.题目描述 2.题目分析 二叉树的层序遍历主要算法思想是使用 队列这一数据结构实现,这个数据结构多应用在和 图相关的算法.例如图的广度优先遍历就可以使用队列的方法实现.本题的关键在于如何识别出一层已 ...

  3. js拼接字符串,字符串转数组

    想要把字符串按一定的规则拼起来如 1,2,3 var a = []; a.push(1); a.push(2); a.push(3); a.join(','); =>> 1,2,3 想要把 ...

  4. amazon interview

    I'll be sitting for an Amazon interview in 3 months. Which website should I use to practice: SPOJ, H ...

  5. Linux which/whereis/locate命令详解

    which 查看可执行文件的位置,从全局环境变量PATH里面查找对应的路径,默认是找 bash内所规范的目录 whereis 查看文件的位置,配合参数-b,用于程序名的搜索,从linux数据库查找. ...

  6. Nginx 泛解析配置请求映射到多端口实现二级域名访问

    由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...

  7. C++:sprintf()的用法(转)

    转:http://blog.csdn.net/masikkk/article/details/5634886 更多:http://blog.csdn.net/zjuwispersure/article ...

  8. Springboot+RestTemplate 简单使用

        spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值 ...

  9. Java基础 之软引用、弱引用、虚引用 ·[转载]

    Java基础 之软引用.弱引用.虚引用 ·[转载] 2011-11-24 14:43:41 Java基础 之软引用.弱引用.虚引用 浏览(509)|评论(1)   交流分类:Java|笔记分类: Ja ...

  10. java Date日期类和SimpleDateFormat日期类格式

    ~Date表示特定的时间,精确到毫秒~构造方法:public Date()//构造Date对象并初始化为当前系统的时间public Date(long date) //1970-1-1 0:0:0到指 ...