Apache Kafka - 介绍
原文地址地址: http://blogxinxiucan.sh1.newtouch.com/2017/07/12/Apache-Kafka-介绍/
Apache Kafka教程 之 Apache Kafka - 介绍
Apache Kafka - 介绍
Apache Kafka起源于LinkedIn,后来成为2011年的开源Apache项目,然后在2012年成为Apache的一流项目。Kafka以Scala和Java编写。Apache Kafka是基于发布订阅的容错消息系统。它是快速,可扩展和分布的设计。
本教程将探讨Kafka的原理,安装,操作,然后将介绍Kafka集群的部署。最后,我们将总结实时应用和与Big Data Technologies
的集成。
在进行本教程之前,您必须对 Java
,Scala
,分布式消息系统
和Linux环境
有很好的了解。
在大数据中,使用了大量的数据。关于数据,我们有两个主要挑战。第一个挑战是如何收集大量数据,第二个挑战是分析收集的数据。为了克服这些挑战,您需要一个消息系统。
Kafka专为分布式高吞吐量系统而设计。Kafka作为一个更传统的邮件经纪人的替代品往往运作良好。与其他消息系统相比,Kafka具有更好的吞吐量,内置的分区,复制和固有的容错能力,使其非常适合大规模的消息处理应用。
什么是邮件系统?
消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不用担心如何共享数据。分布式消息传递基于可靠消息队列的概念。消息在客户端应用程序和消息系统之间异步排队。两种类型的消息传递模式是可用的 - 一种是点对点
,另一种是发布订阅(pub-sub)
消息系统。大多数消息传递模式跟随pub-sub。
点到点信息系统
在点对点系统中,消息将保留在队列中。一个或多个消费者可以使用队列中的消息,但是特定消息可以由最多仅一个消费者消费。一旦消费者读取队列中的消息,它将从该队列中消失。该系统的典型示例是订单处理系统,其中每个订单将由一个订单处理器处理,但多订单处理器可以同时工作。下图描绘了结构。
发布订阅消息系统
在发布订阅系统中,邮件将保留在主题中。与点对点系统不同,消费者可以订阅一个或多个主题并消费该主题中的所有消息。在Publish-Subscribe系统中,消息生成器被称为发布者,消息消费者被称为订户。一个现实的例子是Dish TV,它发布不同的频道,如运动,电影,音乐等,任何人都可以订阅自己的频道,并获得他们的订阅频道。
什么是Kafka?
Apache Kafka是分布式发布订阅消息传递系统和强大的队列,可以处理大量数据,并使您能够将消息从一个端点传递到另一个终端。Kafka适用于离线和在线消息消费。Kafka消息被保留在磁盘上,并在集群内复制以防止数据丢失。Kafka建立在ZooKeeper同步服务之上。它与Apache Storm和Spark完美结合,实时流式传输数据分析。
优点 以下是Kafka的几个好处 -
- 可靠性 - Kafka是分布式,分区式,复制型和容错型。
- 可扩展性 - Kafka消息系统轻松扩展,无需停机时间。
- 耐用性 - Kafka使用分布式提交日志,这意味着邮件尽可能快地依然存在于磁盘上,因此它是耐用的。
- 性能 - Kafka对于发布和订阅消息都具有高吞吐量。它保持稳定的性能,即使存储了许多TB的消息。
Kafka非常快,保证零停机和零数据丢失。
用例
Kafka可用于许多用例。其中有些列在下面 -
- 指标 - Kafka经常用于运行监控数据。这涉及从分布式应用程序聚合统计信息,以产生操作数据的集中式提要。
- 日志聚合解决方案 - Kafka可以在整个组织中使用,从多个服务收集日志,并以标准格式提供给多个服务器。
- 流处理 - 流行框架(如Storm和Spark
Streaming)从主题读取数据,处理它,并将处理后的数据写入可用于用户和应用程序的新主题。Kafka的强大耐用性在流处理方面也非常有用。
Kafka需要
Kafka是处理所有实时数据源的统一平台。Kafka支持低延迟消息传递,并在存在机器故障的情况下保证容错。它具有处理大量不同消费者的能力。Kafka非常快,执行200万次写/秒。Kafka将所有数据保留到磁盘,这实质上意味着所有的写入都将转到操作系统(RAM)的页面缓存。这将数据从页面缓存传输到网络套接字非常有效。
Apache Kafka - 介绍的更多相关文章
- Apache kafka 工作原理介绍
消息队列 消息队列技术是分布式应用间交换信息的一种技术.消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可独立地执行--它们不需要知道彼此的位置.或在继续执行 ...
- Apache Kafka - Quick Start on Windows
在这篇文章中,我将要介绍如何搭建和使用Apache Kafka在windows环境.在开始之前,简要介绍一下Kafka,然后再进行实践. Apache Kafka Kafka是分布式的发布-订阅消息的 ...
- Apache Kafka:下一代分布式消息系统
[http://www.infoq.com/cn/articles/apache-kafka/]分布式发布-订阅消息系统. Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交日 ...
- 用Apache Kafka构建流数据平台
近来,有许多关于“流处理”和“事件数据”的讨论,它们往往都与像Kafka.Storm或Samza这样的技术相关.但并不是每个人都知道如何将这种技术引入他们自己的技术栈.于是,Confluent联合创始 ...
- 3 kafka介绍
本博文的主要内容有 .kafka的官网介绍 http://kafka.apache.org/ 来,用官网上的教程,快速入门. http://kafka.apache.org/documentatio ...
- 《Apache kafka实战》读书笔记-kafka集群监控工具
<Apache kafka实战>读书笔记-kafka集群监控工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如官网所述,Kafka使用基于yammer metric ...
- 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...
- 《Apache Kafka 实战》读书笔记-认识Apache Kafka
<Apache Kafka 实战>读书笔记-认识Apache Kafka 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.kafka概要设计 kafka在设计初衷就是 ...
- CDH下集成spark2.2.0与kafka(四十一):在spark+kafka流处理程序中抛出错误java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;)V
错误信息 19/01/15 19:36:40 WARN consumer.ConsumerConfig: The configuration max.poll.records = 1 was supp ...
随机推荐
- 惊心动魄的SAP S4客户额度调整运动
今天一大早,收到商务部发来的消息,说某一个客户的额度超额了,但实际上并未超额.从SAP系统中反馈的额度来看,显示超了2万多.后来经过在BP画面检查信用段发现,这个客户额度占用里面,某一个未清订单已经部 ...
- ionic 使用了 crosswalkwebview 所产生的bug 及 解决方案
一.问题产生: 在ionic app 优化方案中,我在前之前的博文中提到使用 --crosswalkwebview: 使用了crosswalkwebview后,app的显示及兼容效果确实很不错,虽然a ...
- Django 模型和数据库 总结
模型和数据库 模型 首先我们在创建一个model的时候,这个类都是继承自 django.db.models.Model, 各种Model Field类型 AutoField,自动增长的IntegerF ...
- javaScript高级程序设计笔记 1
核心 ECMAScript 文档对象模型 DOM 浏览器对象模型 BOM 延迟脚本 defer typeof操作符 判断字符类型 返回 undefined boolean s ...
- oracle创建数据库表空间 用户 授权 导入 导出数据库
windows下可以使用向导一步一步创建数据库,注意编码. windows连接到某一个数据库实例(不然会默认到一个实例下面):set ORACLE_SID=TEST --登录开始创建表空间及可以操作的 ...
- 10.解决VUEX刷新的时候出现数据消失
通常,我们在使用vue编写页面时,会需要使用vuex在组件间传递(或者说共同响应)同一个数据的变化.例如:用户的登录信息. 下面,我们使用传递用户登录信息的例子来一步步解决这个问题. 首先,我们的第一 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...
- bootstrap轮播和百叶窗
轮播 在bootstrap里面,有设置的图片轮播的代码: <div id="carousel-example-generic" class="carousel sl ...
- Hibernate基础知识总结
Hibernate是JDBC的轻量级的对象封装(encapsulation),它是一个独立的对象持久persistence层框架. hibernate要做的事,就是让对象投影到关系数据库中,然后实施化 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十七)——SpringMVC拦截器
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7098753.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十六)--S ...