Kafka基础认识
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基础认识的更多相关文章
- Zookeeper与Kafka基础概念和原理
1.zookeeper概念介绍 在介绍ZooKeeper之前,先来介绍一下分布式协调技术,所谓分布式协调技术主要是用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种共享资源,防止造成 ...
- kafka 基础知识梳理及集群环境部署记录
一.kafka基础介绍 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特 ...
- kafka基础介绍
kafka基础介绍 一.kafka介绍 1.1主要功能 根据官网的介绍,kafka是一个分布式流媒体的平台,它主要有三大功能: 1.11:It lets you publish and subscri ...
- [转帖]kafka基础知识点总结
kafka基础知识点总结 https://blog.csdn.net/qq_25445087/article/details/80270790 需要学习. 1.kafka简介 kafka是由Apach ...
- 1.kafka基础架构
kafka基础架构 ## 什么是kafka? Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域. 1.什么是消息队列? 2.使用消息队列的好处 1)解耦 允许你独立的 ...
- 【对线面试官】Kafka基础入门
<对线面试官>系列目前已经连载33篇啦,这是一个讲人话面试系列 [对线面试官]Java注解 [对线面试官]Java泛型 [对线面试官] Java NIO [对线面试官]Java反射 &am ...
- Kafka基础教程(四):.net core集成使用Kafka消息队列
.net core使用Kafka可以像上一篇介绍的封装那样使用(Kafka基础教程(三):C#使用Kafka消息队列),但是我还是觉得再做一层封装比较好,同时还能使用它做一个日志收集的功能. 因为代码 ...
- Kafka基础系列第1讲:Kafka的诞生背景及应用
Kafka 是由 LinkedIn 开发的一个分布式的消息系统,使用 Scala 编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如 Cloudera.Apache Sto ...
- kafka 基础知识梳理-kafka是一种高吞吐量的分布式发布订阅消息系统
一.kafka 简介 今社会各种应用系统诸如商业.社交.搜索.浏览等像信息工厂一样不断的生产出各种信息,在大数据时代,我们面临如下几个挑战: 如何收集这些巨大的信息 如何分析它 如何及时做到如上两点 ...
- kafka基础知识梳理
一.Kafka的基本概念 关键字: 分布式发布订阅消息系统:分布式的,分区的消息服务 Kafka是一种高吞吐量的分布式发布订阅消息系统,使用Scala编写. 对于熟悉JMS(Java Message ...
随机推荐
- Vue项目中引用vue-resource步骤
直接上步骤: 1.通过命令,进入到当前项目所在目录 2.输入以下命令npm install vue-resource --save 3.安装完毕后,在main.js中导入,如下: import Vue ...
- redis介绍(4)实战场景
redis我主要在两方面说明: 集群下的session的管理 Tomcat 与 DB之间缓存
- 在Linux上利用core dump和GDB调试
段错误(segfault) "段错误"是程序试图操作不允许访问或试图访问的不允许内存的情况.可能导致段错误的原因主要有: 1.试图解引用空指针(你不允许访问内存地址0) 2.试图解 ...
- windows下查看端口占用以及进程名称
http://www.cnblogs.com/rollenholt/archive/2012/08/17/2644657.html
- Asp.net单点登录解决方案
原文出处:http://www.cnblogs.com/wu-jian 主站:Passport集中验证服务器,DEMO中为:http://www.passport.com/ 分站:http://www ...
- 封装NSMapTable并简易的使用
封装NSMapTable并简易的使用 NSMapTable是弱引用的字典,可以用来存储对象,该对象消失了也没有关系,对于控制器越级跳转相当有用:) WeakDictionary.h 与 WeakDic ...
- 如何添加设备UDID到开发者中心
如何添加设备UDID到开发者中心 1. 登录开发者中心 2. 选择证书那一项 3. 选择Devices 4. 点选+按钮 5. 填上设备的UUID以及设备名字然后添加上 大功告成:) 附录: 如何获取 ...
- 铁乐学python_md5校验两个文件的一致性
# 写一个函数,参数是两个文件的路径 # 返回的结果是T/F # 判断两个文件的md5值是否相同 import hashlib def diff_md5(file1,file2): def chick ...
- Spring Boot Mybatis-Plus
Mybatis-Plus 是对 Mybatis-Plus 的一些扩充. 在 Spring Boot 中进行集成的时候其实基本上和 mybatis 是一致的. 在你的配置文件中.配置 你的 entity ...
- PHP设计模式系列 - 外观模式
外观模式 通过在必需的逻辑和方法的集合前创建简单的外观接口,外观设计模式隐藏了调用对象的复杂性. 外观设计模式和建造者模式非常相似,建造者模式一般是简化对象的调用的复杂性,外观模式一般是简化含有很多逻 ...