大数据之Kafka入门简介
- 目录
- 前言:
- 1、Kafka是什么
- 2、JMS是什么
- 3、Kafka核心组件(重点)
- 总结:
目录
前言:
作为流式计算中的一个组件,对于它的组成以及运行的原理,学习者也需要相关的了解。以下主要简单介绍了kafka是什么以及对应的组件有哪些;除此之外重点介绍了JMS,毕竟JMS也算是Kafka的核心,还是有必要了解一下。
1、Kafka是什么
在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。
- Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。
- Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache
Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。 - Kafka是一个分布式消息队列:生产者、消费者的功能。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。
- Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer,消息接受者称为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker。
- 无论是kafka集群,还是producer和consumer都依赖于zookeeper集群保存一些meta信息,来保证系统可用性。
2、JMS是什么
2.1、JMS的基础
JMS是什么:JMS是Java提供的一套技术规范
JMS干什么用:用来异构系统 集成通信,缓解系统瓶颈,提高系统的伸缩性增强系统用户体验,使得系统模块化和组件化变得可行并更加灵活
总结:为什么需要消息队列(重要)
消息系统的核心作用就是三点:解耦,异步和并行
通过什么方式:生产消费者模式(生产者、服务器、消费者)
2.2、JMS消息传输模型
- 点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)
点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。 - 发布/订阅模式(一对多,数据生产后,推送给所有订阅者)
发布订阅模型则是一个基于推送的消息传送模型。发布订阅模型可以有多种不同的订阅者,临时订阅者只在主动监听主题时才接收消息,而持久订阅者则监听主题的所有消息,即时当前订阅者不可用,处于离线状态。
2.3、JMS核心组件
Destination:消息发送的目的地,也就是前面说的Queue和Topic。
Message :从字面上就可以看出是被发送的消息。
Producer: 消息的生产者,要发送一个消息,必须通过这个生产者来发送。
MessageConsumer: 与生产者相对应,这是消息的消费者或接收者,通过它来接收一个消息。
Message:
StreamMessage:Java 数据流消息,用标准流操作来顺序的填充和读取。
MapMessage:一个Map类型的消息;名称为 string 类型,而值为 Java 的基本类型。
TextMessage:普通字符串消息,包含一个String。
ObjectMessage:对象消息,包含一个可序列化的Java 对象
BytesMessage:二进制数组消息,包含一个byte[]。
XMLMessage: 一个XML类型的消息。
最常用的是TextMessage和ObjectMessage。
通过与ConnectionFactory可以获得一个connection
通过connection可以获得一个session会话。
3、Kafka核心组件(重点)
- Topic :消息根据Topic进行归类
- Producer:发送消息者
- Consumer:消息接受者
- broker:每个kafka实例(server)
- Zookeeper:依赖集群保存meta信息。
总结:
本篇文章只是对Kafka做了一个简单的介绍。通过本篇文章,你只要能知道Kafka的核心组件有哪些以及Kafka是什么就OK;当然能了解JMS更好。下面的文章中会对Kafka做一个深入的介绍。
大数据之Kafka入门简介相关推荐
- kafka分区与分组原理_大数据技术-Kafka入门
在大数据学习当中,主要的学习重点就是大数据技术框架,针对于大数据处理的不同环节,需要不同的技术框架来解决问题.以Kafka来说,主要就是针对于实时消息处理,在大数据平台当中的应用也很广泛.大数据学习一 ...
- 大数据神器Kafka入门
Kafka安装依赖jdk,运行依赖zookeeper MAC下Kafka安装和启动:https://www.jianshu.com/p/dd2578d47ff6 kafka主要用于大数据量,一般在公司 ...
- 大数据之 kafka 入门
一.zookeeper 下载 安装 cdh 版本的 zookeeper 下载地址 http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5 ...
- 大数据架构师入门学习
经常有初学者在博客和QQ问我,自己想往大数据方向发展,该学哪些技术,学习路线是什么样的,觉得大数据很火,就业很好,薪资很高.如果自己很迷茫,为了这些原因想往大数据方向发展,也可以,那么我就想问一下,你 ...
- 云计算大数据之 Kafka集群搭建
云计算大数据之 Kafka集群搭建 版权声明: 本文为博主学习整理原创文章,如有不正之处请多多指教. 未经博主允许不得转载.https://blog.csdn.net/qq_42595261/arti ...
- 大数据学习路线-入门精简
大数据学习路线入门精简 大数据的学习路程还是比较漫长的,最重要一点!!耐下心来踏踏实实去学,既然选择了就不要放弃,加油吧.
- 新手学习大数据技术如何入门?
新手学习大数据技术如何入门? [导语]对于已经就业的从业者来说,学习路线和方式与在读学生还是有较大区别的,在读的学生可以按照编程语言.操作系统.机器学习.大数据平台等内容陆续学习,那么新手学习大数据技 ...
- 大数据软件学习入门技巧
大数据软件学习入门技巧,一般而言,在进行大数据处理时,会先使用大数据数据库,如 MongoDB. GBase等.然后利用数据仓库工具,对数据进行清理.转换.处理,得出有价值的数据.接着用数据建模工具建 ...
- 大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Technorati 标记: hadoop,生态圈,ecosystem,yarn,spark,入门 1. hadoop 生态概况 Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用 ...
最新文章
- 数据分析之Pandas缺失数据处理
- C# Base64编码/解码
- java i o中文版_Java文件I/O的三种方法
- Python+Opencv实现模板匹配
- java写一个服务定时采集数据_java实现定时任务解决方案
- strcpy函数的C/C++实现
- [C#]方法示例:判断是否闰年
- 小白知识摘录__环境变量
- staitc 变量以及成员
- 自存:微软应用商店appx下载
- 模2运算_模二除法和CRC循环冗余校验
- 2018年4月蓝桥杯省赛经历
- YUV420数据格式详解
- 【Python】与或非的符号表示
- ios点击推送闪退_iphone闪退是什么原因?
- 订单信息表和订单明细表
- json嵌套字典数据获取
- java 插入排序及希尔排序
- 外部Activity和fragment之间的切换,传值
- 九步学会Git版本控制的基础使用(保姆级教程)
热门文章
- 如何看懂源代码–(分析源代码方法)
- 解决:Unable to identify index name. XXXModel is not a Document. Make sure the document class is annota
- 想要转人工智能,程序员该如何学习?(学习路线、知识体系)
- Linux操作系统load average过高,kworker占用较多cpu
- NavigationView更改菜单icon和title颜色变化效果
- hdu2570 迷瘴
- 批量替换 MySQL 指定字段中的字符串
- protocol buffers使用说明
- 最长非下降子序列(O(nlogn))(offer收割)
- zabbix监控工具