首页 最新段子

netty放弃AIO的理由
Not faster than NIO (epoll) on unix systems (which is true),
NIO 和 AIO 在 unix 系统上使用的都是 epoll 模式,本质都是一样的
AIO(Asynchronous I/O)  NIO2.0
AsynchronousServerSocketChannel
AsynchronousSocketChannel
CompletionHandler
大端字节序(Big Endian)是一种计算机存储多字节数据的方式,其中数据的高位字节存储在低地址内存中,而低位字节存储在高地址内存中。
在网络传输中,通常使用大端字节序,也称为网络字节序。
这是TCP/IP协议的规定,多字节数据在网络上传输时使用大端字节序。
因此,如果本地系统使用的是小端字节序,就需要在传输之前将其转换为大端字节序
Moquette是一个开源的MQTT消息代理,基于Java开发,并且使用Netty来实现MQTT协议。
它支持MQTT协议的3.1.1版本,适用于物联网(IoT)场景中的低带宽、高延迟或不可靠的网络环境。
Moquette的设计目标是轻量级和易于嵌入到其他项目中
MQTT 提供了遗嘱 Will 功能,可以在终端异常下线时,
向特定的 Will Topic 发送指定的 Will Message, 从而让第三方感知终端的异常下线。
使用直接缓冲区的风险
allocating many short-lived direct NIO buffers often causes an OutOfMemoryError.
Netty零拷贝体现在三个方面:
Direct Buffers
Composite Buffers
FileChannel.transferTo
MQTT协议版本
MQTT 5 
MQTT 3.1.1 
MQTT 3.1 
MQTT-SN v1.2
据 IoT Analytics 最新发布的《2022 年春季物联网状况》研究报告显示,
到 2022 年,物联网市场预计将增长 18%,达到 144 亿活跃连接。
在如此大规模的物联网需求下,海量的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了巨大的挑战。
对于物联网协议来说,必须针对性地解决物联网设备通信的几个关键问题:网络环境复杂而不可靠、内存和闪存容量小、处理器能力有限。
MQTT 协议正是为了应对以上问题而创建,
经过多年的发展凭借其轻量高效、可靠的消息传递、海量连接支持、安全的双向通信等优点已成为物联网行业的首选协议
依赖于发布订阅模式,MQTT 允许在设备和云之间进行双向消息通信。
发布订阅模式的优点在于:发布者与订阅者不需要建立直接连接,也不需要同时在线,而是由消息服务器负责所有消息的路由和分发工作。
在线状态感知
为了应对网络不稳定的情况,MQTT 提供了心跳保活(Keep Alive)机制。
在客户端与服务端长时间无消息交互的情况下,Keep Alive 保持连接不被断开,若一旦断开,客户端可即时感知并立即重连。
MQTT 设计了遗愿(Last Will)消息,让服务端在发现客户端异常下线的情况下,帮助客户端发布一条遗愿消息到指定的 MQTT 主题。
在 MQTT 3.1.1 发布并成为 OASIS 标准的四年后,MQTT 5.0 正式发布。
MQTT 5.0 在 3.1.1 版本基础上增加了
会话/消息延时、原因码、主题别名、用户属性、共享订阅等更加符合现代物联网应用需求的特性,
提高了大型系统的性能、稳定性与可扩展性。
MQTT 与消息队列的很多行为和特性非常接近,比如都采用发布/订阅模式,但是他们面向的场景却有着显著的不同。
消息队列主要用于服务端应用之间的消息存储与转发,这类场景往往数据量大但客户端数量少。
MQTT 是一种消息传输协议,主要用于物联网设备之间的消息传递,这类场景的特点是海量的设备接入、管理与消息传输。
在一些实际的应用场景中,MQTT 与消息队列往往会被结合起来使用,以使 MQTT 服务器能专注于处理设备的连接与设备间的消息路由。
比如先由 MQTT 服务器接收物联网设备上报的数据,然后再通过消息队列将这些数据转发到不同的业务系统进行处理。
不同于消息队列,MQTT 主题不需要提前创建。MQTT 客户端在订阅或发布时即自动的创建了主题,开发者无需再关心主题的创建,并且也不需要手动删除主题
2024-09-30 A股 两市成交2.59万亿创历史纪录
刷新2015年5月28日创下的历史最高成交额 23626亿元
武则天守寡  失去李治(理智)
YINN(富时中国 3倍做多ETF)
YANG(富时中国 3倍做空ETF)
追踪的指数是FTSE China 50指数,这个指数并不是富时中国A50指数
FTSE China A-H 50:投资于50家最大和流动性最强的A股和H股公司
Netty5 中使用了 ForkJoinPool,增加了代码的复杂度,但是对性能的改善却不明显,
不推荐使用Netty5,官网也没有提供下载链接。
netty常用解码器
FixedLengthFrameDecoder 
LengthFieldBasedFrameDecoder
LineBasedFrameDecoder 
DelimiterBasedFrameDecoder
MQTT的发布/订阅模式,主要涉及四个组成部分:发布者、订阅者、代理(Broker)和主题。
发布者负责将消息发布到特定的主题上,而订阅者则根据感兴趣的主题来接收消息。
代理(Broker)作为中间角色,负责所有消息的路由和分发工作,确保消息能够准确地传递到感兴趣的订阅者。
mqtt-spy 是一个MQTT 客户端工具,广泛用于 MQTT 通信的开发和调试

第一页 上一页 下一页 最后一页