Kafka笔记

1. MQ产品对比


ActiveMQRabbitMQRocketMQKafkaEMQ
公司/社区ApacheRabbit(https://www.rabbitmq.com/)阿里(https://rocketmq.apache.org/)Apache(http://kafka.apache.org/ )EMQ X(https://www.emqx.cn/)
开发语言JavaErlang(二郎神,高并发语言)JavaScala&JavaErlang/OTP
协议支持OpenWire,STOMP,REST,XMPP,AMQPAMQP,XMPP,SMTP,STOMP自定义协议自定义协议,社区封装了http协议支持MQTT、MQTT-SN、CoAP、WebSocket 或私有协议支持
可用性一般(主从)高(主从)非常高(分布式)非常高(分布式)
单机吞吐量万级万级十万级百万级单机支持百万连接,集群支持千万级连接;毫秒级消息转发
消息延迟毫秒级(ms)微秒级(us)毫秒级(ms)毫秒级以内(ms级以内)毫秒级(ms)
消息可靠性一般高(数据副本)
功能特性老牌产品,成熟度高,文档较多,支持各种协议并发能力强,性能好,延迟低,社区活跃,管理界面丰富MQ功能比较完善,扩展性最佳只支持主要的MQ功能,主要应用于大数据领域(如 大数据领域的实时计算、日志采集等场景)主要服务于物联网领域(如 车联网、能源电力、充电桩、智能售货机、智能家居、工业互联网等等)

使用场景:

  • Kafka,追求高吞吐量,适合产生大量数据的互联网服务的数据收集业务;
  • RocketMQ, 可靠性要求很高的金融互联网领域,稳定性高,经历了多次阿里双11考验;
  • RabbitMQ ,性能较好,社区活跃度高,如果数据量没有那么大,优先选择功能比较完备的RabbitMQ。

2. Kafka概述


Kafka官网:http://kafka.apache.org/

Kafka是一个分布式流处理平台,它可以处理消息数据流,由Scala和Java编写。Kafka最初由LinkedIn开发,现在是Apache软件基金会的一部分。Kafka的主要目的是在高性能、高吞吐量的情况下处理消息,是一个可扩展、可靠、容错的消息流平台。Kafka的基本组件包括producer、broker、以及consumer。生产者producer将消息发送到Kafka集群,消息经过broker中转,消费者consumer从broker中读取消息。Kafka适用于处理海量的实时数据,比如日志、事件信息、度量信息等等。

在这里插入图片描述


Kafka常用名词解释:

在这里插入图片描述

  • producer:发布消息的对象称之为主题生产者(Kafka topic producer);

  • topic:Kafka将消息分门别类,每一类的消息称之为一个主题(Topic);

  • consumer:订阅消息并处理发布的消息的对象称之为主题消费者(consumers);

  • broker:已发布的消息保存在一组服务器中,称之为Kafka集群。集群中的每一个服务器都是一个代理(Broker)。 消费者可以订阅一个或多个主题(topic),并从Broker拉数据,从而消费这些已发布的消息。


3. Kafka安装与配置


基于Docker环境部署。

Kafka对于zookeeper是强依赖,保存kafka相关的节点数据,所以安装Kafka之前必须先安装zookeeper。

1、安装zookeeper

# 下载zookeeper镜像
docker pull zookeeper:3.4.14# 启动容器
docker run -d --name zookeeper -p 2181:2181 zookeeper:3.4.14

2、安装kafka

# 下载镜像
docker pull wurstmeister/kafka:2.12-2.3.1# 启动容器
docker run -d --name kafka \
--env KAFKA_ADVERTISED_HOST_NAME=192.168.200.130 \
--env KAFKA_ZOOKEEPER_CONNECT=192.168.200.130:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.200.130:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_HEAP_OPTS="-Xmx256M -Xms256M" \
--net=host wurstmeister/kafka:2.12-2.3.1
  • KAFKA_ADVERTISED_HOST_NAME:设置当前主机ip地址;

  • KAFKA_ADVERTISED_LISTENERS:kafka发布到zookeeper供客户端使用的服务地址。

  • KAFKA_ZOOKEEPER_CONNECT:zookeeper的连接地址;

  • KAFKA_LISTENERS:允许使用PLAINTEXT侦听器;

  • KAFKA_HEAP_OPTS:性能调优。

注:启动容器的时候,先启动zookeeper后启动kafka。


4. Kafka快速入门


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/256602.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

以支付宝为例,聊聊Web安全的三个攻防姿势

我们最常见的Web安全攻击有以下几种 XSS 跨站脚本攻击CSRF 跨站请求伪造clickjacking 点击劫持/UI-覆盖攻击 下面我们来逐个分析 一、XSS 跨站脚本攻击 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Styl…

详解.NET IL代码

IL是什么? Intermediate Language (IL)微软中间语言 C#代码编译过程? C#源代码通过LC转为IL代码,IL主要包含一些元数据和中间语言指令; JIT编译器把IL代码转为机器识别的机器代码。如下图 语言编译器&am…

桌面宠物大全

无聊收集的: 桌面宠物大全 24个桌面宠物 类似种种,总之花了很多精力,将网上能见到的基本都收录了。其中:无需汉化的25个、盛华汉化的255个、未能汉化的32个,共312个。 看看自己朝夕相处的电脑桌面,还是一如既往的一片寂静,太没有气氛了。今天就给大家介绍几个好玩的桌…

为什么职场中35岁之后很难找到合适的工作?

(点击即可收听) 为什么职场中35岁之后很难找到合适的工作 无论是初入职场还是,职场多年的老司机,都听过一个35岁危机的一个话题 无论是企业还是一些招聘者,针对35,甚至就是30的人,充满了不是这样,就是那样的偏见的理由 每个公司都喜欢有激情,有想法,有干劲的年轻人,无论哪个公司…

读数据压缩入门笔记03_VLC

1. 概率、熵与码字长度 1.1. 数据压缩的目的 1.1.1. 给定一个数据集中的符号,将最短的编码分配给最可能出现的符号 1.2 1.2.1. 当P(A)P(B),也就是两个符号等可能出现时,数据集对应的熵取最大值LOG2(符号的个数)&…

《计算机组成原理》唐朔飞 第7章 指令系统 - 学习笔记

写在前面的话:此系列文章为笔者学习计算机组成原理时的个人笔记,分享出来与大家学习交流。使用教材为唐朔飞第3版,笔记目录大体与教材相同。 网课 计算机组成原理(哈工大刘宏伟)135讲(全)高清_…

HTTPX从入门到放弃

1. 什么是HTTPX? HTTPX是一款Python栈HTTP客户端库,它提供了比标准库更高级别、更先进的功能,如连接重用、连接池、超时控制、自动繁衍请求等等。HTTPX同时也支持同步和异步两种方式,因此可以在同步代码和异步代码中通用。 HTTP…

FPGA纯vhdl实现XGMII接口10G万兆网UDP协议 配合10G Ethernet PCS/PMA使用 提供工程源码和技术支持

目录 1、前言2、我这里已有的UDP方案3、详细设计方案本 10G-UDP 协议栈功能和性能描述本 10G-UDP 协议栈设计框图用户发送AXIS接口描述用户接收AXIS接口描述控制接口描述XGMII接口描述 4、vivado工程详解10G-UDP协议栈10G Ethernet PCS/PMA IP核 5、上板调试验证并演示6、福利&…

iOS 13修复了FaceTime最大的烦恼之一

黑客技术 点击右侧关注,了解黑客的世界! Java开发进阶 点击右侧关注,掌握进阶之路! Linux编程 点击右侧关注,免费入门到精通! iOS 13 第三个开发者 beta 版本增加了一个新功能,可以让用户在 Fac…

多人聊天、预约会议,FaceTime登录Windows和Android系统

整理 | Carol 出品 | CSDN(ID:CSDNnews) 在一年一度的WWDC苹果开发者盛会中,Apple除了宣布引入iOS15以外,还宣布将面向Windows和Android用户开放FaceTime。而过去,这项能力只能在iOS和Mac设备上试用。 Face…

iPhone曝严重漏洞,用户接听FaceTime前或被“监听”!

作者 | 琥珀 出品 | AI科技大本营(ID: rgznai100) 近日,据 9to5Mac 等多家外媒报道,苹果手机 FaceTime 一项重大漏洞被曝光,该漏洞可以让用户通过 FaceTime 群聊功能(Group FaceTime)打电话给任…

黑苹果facetime_如何在消息或FaceTime中添加或删除电话号码

黑苹果facetime If you have an iPhone and a Mac or iPad, you can link your phone number to your iCloud account to send and receive calls and messages from the same number on both devices. 如果您拥有iPhone和Mac或iPad,则可以将电话号码链接到iCloud帐…

苹果 iOS 15 正式发布

本文转载自IT之家 IT之家 6 月 8 日消息 今日凌晨,苹果召开 WWDC21 全球开发者大会,正式公布了全新 iOS 15 系统。 IT之家了解到,在 iOS 15 系统中,苹果带来了全新 FaceTime 与通知界面,并对照片、天气、钱包、地图等…

【苹果imessage相册推信】黑apple苹果经常出现FaceTime群设备推和Imessage群发设备推

黑色苹果经常出现FaceTime和Imessage,无法正常登录。 需要正常登录,你需要提到3码,一些帖子甚至复制在真正的白色苹果机上方。 但实际上,我希望上述服务将正常使用,我们需要补充SMUUID,BoardSerialNumber和…

FaceTime 在苹果电脑macOS与iPhone iOS上视频聊天配置步骤

FaceTime 在macOS与iPhone视频聊天配置步骤 前提,毫无疑问,你要有Apple ID。 1,在苹果电脑,到Applications目录下打开运行FaceTime 2,还是在电脑,输入你的Apple ID 3,还是在电脑,这里…

iMessage, Facetime 解决办法

不需要白苹果三码,亲测可用:原帖地址: https://www.reddit.com/r/hackintosh/comments/2wohwn/getting_imessage_working_on_10102_generating/ 感谢原帖的大神,感谢搜索。如果你得到一个错误信息,那么你很辛运。这意味…

【苹果推软件】安装OS imessage和faceTime

推荐内容IMESSGAE相关 作者推荐内容参考此文档来操作 *** 点击即可查看作者要求内容信息作者推荐内容1.参考此文档来操作 *** 点击即可查看作者要求内容信息作者推荐内容2.参考此文档来操作 *** 点击即可查看作者要求内容信息作者推荐内容3.参考此文档来操作 *** 点击即可查看…

如何解决FaceTime在苹果Mac上不起作用的问题?

由于多种原因,FaceTime无法在Mac上正常工作。在某些情况下,该应用程序行为不正常或将您注销,因此您将无法使用FaceTime。同样,如果您在使用相机或麦克风时遇到问题,Mac的日期和时间不正确,或者互联网连接状…

黑苹果解决 iMessage 与 Facetime 以及苹果三码的问题

教程来自http://www.heimac.net 若有侵权,及时私信我删除本文,再次感谢! 作者:超级管理员 黑苹果经常出现Facetime 和 iMessage 无法正常登陆。需要正常登陆则需要所说的白苹果 3 码,有些帖子甚至已经到真正的白苹果机…

C++ 和机器学习:使用 C++ 执行 ML 任务的简介

C 和机器学习:使用 C 执行 ML 任务的简介 介绍 C 是一种高性能编程语言,非常适合机器学习( ML ) 任务。尽管它在 ML 中可能不像 Python 或 R 那样流行,但它在速度和内存效率方面具有优势。 在本文中,我们将概述使用 C 执行 ML 任务…