摘要: 一、Netty粘包和拆包解决方案 Netty提供了多个解码器,可以进行分包的操作,分别是: * LineBasedFrameDecoder (换行) LineBasedFrameDecoder是回车换行解码器,如果用户发送的消息以回车换行符作为消息结束的标识,则可以直接使用Netty的LineBas 阅读全文
posted @ 2019-05-22 14:05 友帅老师 阅读(1010) 评论(0) 推荐(0)
摘要: 一、粘包/拆包概念 TCP是一个“流”协议,所谓流,就是没有界限的一长串二进制数据。TCP作为传输层协议并不不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行数据包的划分,所以在业务上认为是一个完整的包,可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送, 阅读全文
posted @ 2019-05-22 11:36 友帅老师 阅读(476) 评论(0) 推荐(0)
摘要: 一、SocketChannelJava NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel: 打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个So 阅读全文
posted @ 2019-05-21 17:10 友帅老师 阅读(465) 评论(0) 推荐(0)
摘要: 一、分散/聚集 Scatter/Gather scatter/gather指的在多个缓冲区上实现一个简单的I/O操作,比如从通道中读取数据到多个缓冲区,或从多个缓冲区中写入数据到通道;scatter(分散):指的是从通道中读取数据分散到多个缓冲区Buffer的过程,该过程会将每个缓存区填满,直至通道 阅读全文
posted @ 2019-05-21 17:00 友帅老师 阅读(335) 评论(0) 推荐(0)
摘要: 一、Java NIO 概述 Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是 阅读全文
posted @ 2019-05-21 16:40 友帅老师 阅读(510) 评论(0) 推荐(0)
摘要: Java中流的概念 java程序通过流来完成输入/输出。流是生产或消费信息的抽象。流通过java的输入/输出与物理设备链接。尽管与它们链接的物理设备不尽相同,所有流的行为具有同样的方式。这样,相同的输入/输出类和方法适用于所有类型的外部设备。这意味着一个输入流能够抽象多种不同类型的输入:从磁盘文件, 阅读全文
posted @ 2019-05-21 16:01 友帅老师 阅读(384) 评论(0) 推荐(0)
摘要: 本节通过案例介绍springboot与netty的集成 第一步:新建Spring Initializr 项目 我这里选择Gradle项目,也可选择Maven项目 (注意:最好选择自己下载gradle,如下图) 然后修改build.gradle文件,加入依赖(需要安装Lombok插件) 接下来编写服务 阅读全文
posted @ 2019-05-21 11:13 友帅老师 阅读(2050) 评论(0) 推荐(0)
摘要: 上节我们介绍了基于Thrift实现java与java的RPC调用,本节我们基于Thrift实现Java与Python的RPC调用 首先,修改data.thirft文件,将命名空间由java改为py 然后打开终端,输入命令 thrift --gen py src/thrift/data.thrift 阅读全文
posted @ 2019-05-20 16:28 友帅老师 阅读(940) 评论(0) 推荐(0)
摘要: 一、概述 Apache Thrift 是 Facebook 实现的一种高效的、支持多种编程语言的远程服务调用的框架。Thrift是由Facebook开发的,并在2008年捐给了Apache基金会,成为了一个孵化器项目。 Thrift 主要用于各个服务之间的RPC通信,支持跨语言,常用的语言比如C++ 阅读全文
posted @ 2019-05-20 09:20 友帅老师 阅读(797) 评论(1) 推荐(1)
摘要: protobuf是由Google开发的一套对数据结构进行序列化的方法,可用做通信协议,数据存储格式,等等。其特点是不限语言、不限平台、扩展性强 Netty也提供了对Protobuf的天然支持,我们今天就写一个简单的示例,简单地了解一下Netty对Google的protoBuf的支持 场景设置: 我们 阅读全文
posted @ 2019-05-18 16:24 友帅老师 阅读(415) 评论(1) 推荐(0)