一、前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式。这种方式,大部分一看就知道是熟悉Web开发、软件开发的人喜欢用的方式。由于我也是做web软件开发的,也是比较喜欢这种方式。阿里的物联网平台,也是推荐这种方式。但是,但是做惯硬件开发, ...
分类:
Web程序 时间:
2020-02-14 18:22:54
阅读次数:
89
JDK Byte Buffer的缺点:长度是固定的,不能动态扩容,API使用复杂,因此Netty封装了自己ByteBuf,Bytebuf有三个重要属性:Capacity容量、readerIndex读取位置和writerIndex写入位置,提供两个指针来支持顺序读写操作.同时三者满足如下关系:0<=r ...
分类:
Web程序 时间:
2020-02-14 18:05:42
阅读次数:
100
概述 Netty其实就是一个异步的、基于事件驱动的框架,其作用是用来开发高性能、高可靠的IO程序。 因此下面就让我们从Java的IO模型来逐步深入学习Netty。 IO模型 IO模型简单来说,就是采用如何的方式来进行数据的接受和发送,因为存在着发送方和接收方两个角色,因此IO模型一般分为以下3类: ...
分类:
Web程序 时间:
2020-02-13 09:46:06
阅读次数:
79
服务端: 启动后,等待客户端发来信息,收到信息后进行处理,返回结果。 客户端: 主线程中发起一次RPC,那么就将信息封装成一个任务,提交到线程池,阻塞等待结果。 线程池中工作线程执行任务,发送信息,等待netty线程收到结果、唤醒自己。 工作线程完成任务,返回结果 所以,一条消息应该包括要调用的类, ...
分类:
其他好文 时间:
2020-02-12 13:04:44
阅读次数:
69
起因 以前对接过一个tcp协议的接口,实现对类似于手机的pdt设备发送文本文字的功能,对接协议其实是文本形式的,很简单的一种协议。当初一路坎坷的对接完成,那时候实现方式也比较复杂,没有支持断连重连功能,本想着能优化一下,但是直到我从那家公司离职,也没有优化:) 想在回想起来当初实现功能的过程,比较曲 ...
分类:
Web程序 时间:
2020-02-12 12:33:16
阅读次数:
80
高并发实战学习 参考书籍 "Netty,Redis,ZooKeeper高并发实战" 作者 尼恩 代码链接https://gitee.com/sfasdfasdfsdf/netty_redis_zookeeper_source_code.git Netty netty是JBOSS提供的一个JAVA开源 ...
分类:
其他好文 时间:
2020-02-09 11:39:21
阅读次数:
55
Netty 是一个高性能的网络框架,应用非常普遍,目前在Java 领域,Netty 基本上成为网络程序的标配了,Netty 框架功能丰富,也非常复杂。今天主要分析Netty 框架中的线程模型,而线程模型直接影响着网络程序的性能。
在介绍Netty 的线程模型之前,我们首先搞清楚网络编程性能的瓶颈在哪里,然后再看Netty 的线程模型是如何解决这个问题的。
分类:
Web程序 时间:
2020-02-04 00:19:51
阅读次数:
110
Netty 是由 JBOSS 提供的一个 java 开源框架。Netty 提供异步的、事件驱动的网络应用 程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于 NIO 的客户、服务器端编程框架,使用 Netty 可以确保你 快速和简单的开发出一个网 ...
分类:
编程语言 时间:
2020-02-02 01:11:07
阅读次数:
94
.childOption(ChannelOption.RCVBUF_ALLOCATOR, new AdaptiveRecvByteBufAllocator(64, 1024, 65536)) 注意这行,中间那个数字是关键 有点像: 0 腾讯 centos 7 [root@VM_0_9_centos ...
分类:
Web程序 时间:
2020-02-02 01:04:25
阅读次数:
172
"netty内存管理思想" "PooledByteBufAllocate" "PoolChunk" "Chunk初始化" "PoolChunk分配内存" netty内存管理思想 java作为一门拥有GC机制的语言,长久以来它的使用者都不必手动管理内存,这比起c/c++是一个巨大的进步。但现在nett ...
分类:
其他好文 时间:
2020-01-31 21:15:28
阅读次数:
97