topic

MQTT介绍与使用

◇◆丶佛笑我妖孽 提交于 2019-11-28 20:32:48
   物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。其英文名称是:“Internet of things(IoT)”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。物联网通过智能感知、识别技术与普适计算等通信感知技术,广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。   而在物联网的应用上,对于信息传输,MQTT是一种再合适不过的协议工具了。 一、MQTT简介   MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的轻量级协议,该协议构建于TCP/IP协议之上,MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。   MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M

kafka快速开始

点点圈 提交于 2019-11-28 20:11:42
文章目录 一、kafka介绍 1. kafka基本认识 1.1 kafka 4个核心API 2. 各版本变化说明 2.1 不同 Kafka 版本之间服务器和客户端的适配性 二、kafka入门 1. kafka基本术语概念 2. kafka消息设计 2.1 消息压缩 三、kafka connect 1. Kafka Connect的应用 2. Kafka Connect 组件的启动脚本 四、 Kafka Streams 1. 什么是流式计算 2. 关键概念 五、kafka环境搭建 六、kafka基本使用 1. kafka常用命令 2. 命令使用问题总结 1)报错:Error while fetching metadata with correlation id 2)消费消息报错zookeeper is not a recognized option 六、关于Kafka Consumer 1. push 还是 pull 2. Kafka重复消费原因 2.1 kafka重复消费解决方案 2.2 具体案例 七、关于Kafka 拦截器 1. 生产者拦截器 2. 消费者拦截器 八、常见问题整理 1. 消息丢失问题 2. kafka如何建立tcp连接 2.1 生产者代码是什么时候创建 TCP 连接的? 2.2 生产者何时关闭 TCP 连接? 2.3 消费者代码是什么时候创建 TCP 连接的? 2

kafka使用

谁都会走 提交于 2019-11-28 18:29:16
启动zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties & 启动kafka bin/kafka-server-start.sh config/server.properties & 停止kafka bin/kafka-server-stop.sh 停止zookeeper bin/zookeeper-server-stop.sh 创建topic bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 展示topic bin/kafka-topics.sh --list --zookeeper localhost:2181 描述topic bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic 生产者: bin/kafka-console-producer.sh --broker-list 130.51.23.95:9092 --topic my-replicated-topic 消费者: bin/kafka-console

kafka 调参笔记

江枫思渺然 提交于 2019-11-28 17:53:50
/*--> */ /*--> */ config/server.properties log.dirs 解释:kafka 日志文件保存目录 默认值:安装目录下或/tmp下 设置值:/mnt/data1/kafka/logs /*--> */ /*--> */ num.partitions 解释:topic 默认分区数 默认值:1 设置值:1 (创建 topic 时再定制指定) /*--> */ /*--> */ replica.lag.time.max.ms = 30000 解释:ISR 认定不同步超时时间 默认值:10000 ms 设置值:30000 ms producer.properties consumer.properties topic/partitions 数量 对 topic T,设 producer 吞吐 = a mb/s,consuemer 吞吐 = b mb/s,追求吞吐 = t mb/s: 追求partition数量 = max (t/a, t/b) 设集群 broker 数量 = n, 复制因子 = r partition数量 <= 100 * n * r 单个partition的leader数 <= 100 /*--> */ /*--> */ 来源: https://www.cnblogs.com/PigeonNoir/p/11417717.html

ActiveMQ入门操作示例

微笑、不失礼 提交于 2019-11-28 16:17:45
1. Queue 1.1 Producer   生产者:生产消息,发送端。   把jar包添加到工程中。    第一步:创建ConnectionFactory对象,需要指定服务端ip及端口号。 第二步:使用ConnectionFactory对象创建一个Connection对象。 第三步:开启连接,调用Connection对象的start方法。 第四步:使用Connection对象创建一个Session对象。 第五步:使用Session对象创建一个Destination对象(topic、queue),此处创建一个Queue对象。 第六步:使用Session对象创建一个Producer对象。 第七步:创建一个Message对象,创建一个TextMessage对象。 第八步:使用Producer对象发送消息。 第九步:关闭资源。 1 /** 2 * 点到点形式发送消息 3 */ 4 @Test 5 public void testQueueProducer() throws Exception{ 6 //1、创建一个连接工厂对象,需要指定服务的ip及端口。 7 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.83.102:61616"); 8 //2

Kafka入门(安装及使用)

北战南征 提交于 2019-11-28 15:38:48
Kafka是一种分布式的,基于发布/订阅的消息系统。 Kafka的组成包括: Kafka将消息以topic为单位进行归纳。 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. Kafka的下载: https://kafka.apache.org/downloads 下载最新版本 解压后修改配置(config/server.properties:broker.id、log.dirs) vim config/server.properties broker.id = 1 log.dirs = "日志目录地址" 启动服务: Kafka用到了Zookeeper,所有首先启动Zookper,下面简单的启用一个单实例的Zookkeeper服务。可以在命令的结尾加个&符号,这样就可以启动后离开控制台。 bin/zookeeper-server-start.sh config/zookeeper.properties & 现在启动Kafka bin/kafka-server-start.sh config/server.properties 创建topic bin/kafka-topics.sh --create --zookeeper

Kafka集成SparkStreaming

有些话、适合烂在心里 提交于 2019-11-28 15:04:00
Spark Streaming + Kafka集成指南 Kafka项目在版本0.8和0.10之间引入了一个新的消费者API,因此有两个独立的相应Spark Streaming包可用。请选择正确的包, 请注意,0.8集成与后来的0.9和0.10代理兼容,但0.10集成与早期的代理不兼容。 注意:从Spark 2.3.0开始,不推荐使用Kafka 0.8支持。 Spark Streaming从Kafka接收数据,转换为spark streaming中的数据结构Dstream。数据接收方式有两种 :1 使用Receiver接收的旧方法:2使用Direct拉取的新方法(在Spark 1.3中引入)。 https://spark.apache.org/docs/1.6.3/streaming-kafka-integration.html https://spark.apache.org/docs/2.3.1/streaming-kafka-0-10-integration.html Receiver方式 Received是使用Kafka高级Consumer API实现的。与所有接收器一样,从Kafka通过Receiver接收的数据存储在Spark Executor的内存中,然后由Spark Streaming启动的job来处理数据。然而默认配置下,这种方式可能会因为底层的失败而丢失数据

Spring Cloud - 8 (Spring Cloud Stream)

試著忘記壹切 提交于 2019-11-28 14:48:20
原文: http://blog.gqylpy.com/gqy/497 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

Spring Cloud - 8 (Spring Cloud Stream)

南笙酒味 提交于 2019-11-28 14:48:14
原文: http://blog.gqylpy.com/gqy/497 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT