下一节: Kafka 基础知识

下一节

Kafka 教程

Kafka 简介

Apache Kafka起源于LinkedIn,后来在2011年成为开源Apache项目,然后在2012年成为First-class Apache项目。Kafka用Scala和Java编写。Apache Kafka是基于发布-订阅的容错消息传递系统。它是快速,可扩展的,并且可以按设计进行分发。本教程将探讨Kafka的原理,安装,操作,然后逐步引导您完成Kafka集群的部署。最后,我们将通过实时应用和与大数据技术的集成来结束。

应用描述

在大数据中,使用了大量的数据。关于数据,我们面临两个主要挑战。第一个挑战是如何收集大量数据,第二个挑战是分析收集的数据。为了克服这些挑战,您必须需要一个消息传递系统。Kafka专为分布式高吞吐量系统而设计。Kafka可以很好地替代传统的消息代理。与其他消息系统相比,Kafka具有更好的吞吐量,内置的分区,复制和固有的容错能力,使其非常适合大型邮件处理应用程序。

什么是消息系统?

消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,而不必担心如何共享数据。分布式消息传递基于可靠消息队列的概念。消息在客户端应用程序和消息传递系统之间异步排队。可用的消息传递模式有两种:一种是点对点的,另一种是发布-订阅(pub-sub)的消息传递系统。大多数消息传递模式遵循pub-sub。

点对点消息系统:

在点对点系统中,消息将保留在队列中。一个或多个使用者可以使用队列中的消息,但是特定消息最多只能由一个使用者使用。使用者读取队列中的消息后,该消息将从该队列中消失。该系统的典型示例是订单处理系统,其中每个订单将由一个订单处理器处理,但是多个订单处理器可以同时工作。下图描述了该结构。

发布-订阅消息系统:

在发布-订阅系统中,消息保留在主题中。与点对点系统不同,消费者可以订阅一个或多个主题,并消费该主题中的所有消息。在发布-订阅系统中,消息生产者称为发布者,消息消费者称为订阅者。一个真实的例子是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将所有数据持久保存到磁盘,这实际上意味着所有写操作都将进入OS(RAM)的页面缓存。这使得将数据从页面缓存传输到网络套接字非常有效。

听众

本教程是为渴望使用Apache Kafka消息传递系统从事大数据分析职业的专业人士准备的。它将使您对如何使用Kafka集群有足够的了解。

先决条件

在继续本教程之前,您必须对Java,Scala,分布式消息系统和Linux环境有很好的了解。

如果您未了解Java和Scala,可以到我们的Java教程和Scala教程学习。

下一节: Kafka 基础知识

下一节

查看笔记 分享笔记

笔记内容:

称呼:

Email:

站点:

分享笔记 重置

分类导航

前端

Ajax 教程

Angular 教程

Aurelia 教程

Bootstrap 教程

ChartJS 教程

CSS 教程

ES6 教程

FontAwesome 教程

HTML 教程

HTML 字符集 教程

HTML 游戏 教程

JavaScript 教程

jQuery 教程

Less 教程

React 教程

Sass 教程

Stylus 教程

TypeScript 教程

Unity 教程

Vue.js 教程

WebAssembly 教程

XAML 教程

颜色 教程

服务端

C# 教程

C++ 教程

COBOL 教程

C语言 教程

Fortran 教程

Go 教程

Groovy 教程

Java 教程

JSP 教程

JVM 教程

Kotlin 教程

Lisp 教程

Lua 教程

Node.js 教程

Pascal 教程

Perl 教程

PHP 教程

Python 教程

Python 3 教程

Ruby 教程

Rust 教程

Scala 教程

Spring 教程

Spring Boot 教程

Spring Cloud 教程

VB.Net 教程

移动端

Android 教程

IOS 教程

Objective-C 教程

React Native 教程

Swift 教程

小程序 教程

数据库

Access 教程

DB2 教程

Mariadb 教程

Memcached 教程

MongoDB 教程

MySQL 教程

Neo4j 教程

PL/SQL 教程

PostgreSQL 教程

Redis 教程

SQL 教程

SQL Server 教程

SQLite 教程

T-SQL 教程

数据格式

Jackson 教程

JSON 教程

SVG 教程

XML 教程

开发工具

ActiveMQ 教程

Ant 教程

Apache HttpClient 教程

Apache POI PPT 教程

AWS 教程

Docker 教程

ElasticSearch 教程

ExpressJS 教程

GIT 教程

GitLab 教程

Google Maps 教程

Gradle 教程

Java NIO 教程

JavaFX 教程

JavaMail 教程

JDBC 教程

jMeter 教程

JPA 教程

jsoup 教程

Junit 教程

KoaJS 教程

Kubernetes 教程

Log4j 教程

Logstash 教程

Lucene 教程

Makefile 教程

Maven 教程

RESTful 教程

Sed 教程

SEO 教程

Servlet 教程

SLF4J 教程

Socket.IO 教程

Struts 教程

SVN 教程

TestNG 教程

UML 教程

UNIX / LINUX 教程

WebSocket 教程

WPF 教程

xStream 教程

区块链 教程

数据处理

Flink 教程

Flume 教程

Hadoop 教程

Hbase 教程

Hive 教程

Kafka 教程

Kibana 教程

MapReduce 教程

MATLAB 教程

MyBatis 教程

Pig 教程

R语言 教程

Solr 教程

Spark 教程

Storm 教程

Zookeeper 教程

大数据分析 教程

数据仓库 教程

数据挖掘 教程

计算机基础

HTTP 教程

IPv4 教程

IPv6 教程

Ubantu 教程

WebServices 教程

嵌入式系统 教程

操作系统 教程

数据结构和算法 教程

汇编语言 教程

物联网 教程

电子电路基础 教程

编译器设计 教程

网站开发 教程

计算机 教程

计算机基础 教程

计算机网络 教程

设计模式 教程

AI

CNTK 教程

Keras 教程

PyTorch 教程

TensorFlow 教程

人工智能 教程

机器学习 教程

Python 技术

Django 教程

Flask 教程

NumPy 教程

Pandas 教程

Pillow 教程

PyGTK 教程

PyQt5 教程

PySpark 教程

pytest 教程

Python -数据科学 教程

Python MySQL 教程

Python 取证 教程

Python 数据结构 教程

Python 文本处理 教程

Python 网络编程 教程

Python 网页抓取 教程

Python 设计模式 教程

RxPY 教程

SciPy 教程

Seaborn 教程

SymPy 教程

wxPython 教程

框架

Laravel 教程

Web 图标Icon 教程

Web2py 教程

WebGL 教程

WebRTC 教程

WordPress 教程

Yii 教程

Zend Framework 教程

SAP

Crystal Reports 教程