RPC
文章平均质量分 86
灯塔下的守望者
To know is easy, but to do is difficult
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Netty源码剖析
本文对Netty源码进行了深入剖析,透过Netty源码来理解Netty框架背后的原理。 Nety源码剖析 下载netty源码 https://github.com/netty/netty 导入netty源码 直接IDEA导入Maven项目选择 pom.xml 即可。 新建demo项目 在example项目下面新建最简单的demo EventLoop事件循环组(线程组)源码 EventLoopGroup 是一组 EventLoop 的抽象,Netty 为了更好的利用多核 CPU 资源,一般会有多 个 Ev原创 2022-05-04 14:07:09 · 2865 阅读 · 0 评论 -
Netty高级进阶之Netty中的粘包和拆包的解决方案
本文阐述了Netty中常见的粘包和拆包问题,并深入分析了常用的解决方案。 Netty高级进阶之Netty中的粘包和拆包的解决方案 粘包和拆包简介 粘包和拆包是TCP网络编程中不可避免的,无论是服务端和客户端,当读取或发送消息时,都需要考虑TCP底层的粘包/拆包机制。 TCP是个流协议,流,就是没有界限的一组数据。 TCP底层并不了解上层业务数据的具体含义它会根据TCP的缓冲区的实际情况进行包的拆分。在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小包封装成一个大的数据包发送,这原创 2022-05-04 14:01:48 · 1554 阅读 · 1 评论 -
Netty高级进阶之基于Netty的Websocket开发网页聊天室
本通过实战演练,学习了如何基于Netty的websocket开发一个网页聊天室。 Netty高级进阶之基于Netty的Websocket开发网页聊天室 Webdocket简介 Websockt是一种在单个TCP连接上进行全双工通信的协议。 Websocket使客户端和服务端的数据交互变得简单,允许服务器主动向客户端推送数据。 在Websocket API中,客户端只需要与服务器完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。 他的应用场景如下: 社交订阅 协同编辑/编程 股票基金报价原创 2022-05-04 14:00:24 · 1690 阅读 · 0 评论 -
Netty高级进阶之基于Netty的HTTP服务器开发
本通过实战演练,学习了如何基于Netty开发一个HTTP服务器。 Netty高级进阶之基于Netty的HTTP服务器开发 介绍 Netty的HTTP协议栈可靠性高,性能优异。相对于传统的Tomcat、Jetty等服务器,它更加轻量级和小巧,灵活性和定制型也更好。 功能需求 Netty服务器在8080端口监听 浏览器发出请求”http://localhost:8080“ 服务器回复消息给客户端”你好,我是Netty服务器“,并对特定请求资源进行过滤 服务端代码实现 NettyHttpServer原创 2022-05-04 13:57:24 · 1660 阅读 · 0 评论 -
Netty高级进阶之基于Netty的群聊天室案例
本文通过实战演练,学习了如何使用Netty开发一个群聊天室。 Netty高级进阶之基于Netty的群聊天室案例 案例要求 编写一个 Netty 群聊系统,实现服务器端和客户端之间的数据简单通讯 实现多人群聊 服务器端:可以监测用户上线,离线,并实现消息转发功能 客户端:可以发送消息给其它所有用户,同时可以接受其它用户发送的消息 聊天室服务端编写 服务端 /** * 聊天室服务端 * * @name: NettyChatServer * @author: terwer * @date: 2原创 2022-05-04 13:56:26 · 756 阅读 · 0 评论 -
Netty高级进阶之Netty解码器
本文介绍了Netty编解码器的继承体系、常用API以及实际应用。 netty高级 Netty编解码器 Java的编解码 编码(Encode)称为序列化,它将对象序列为字节数组,用于网络传输、数据持久化或者其他用途。 解码(Decode)称为反序列化,它将从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象),以方便后面的业务逻辑操作。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMFJo9YH-1651643667787)(https://cdn.jsde原创 2022-05-04 13:54:44 · 3540 阅读 · 0 评论 -
Netty入门与异步模型
本文通过一个Netty入门案例来阐述Netty的异步模型。 netty入门案例 Netty是由JBOSS提供的一个开源框架,它的Maven坐标如下: <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.76.Final</version> </dependency>原创 2022-05-04 13:53:22 · 556 阅读 · 0 评论 -
Netty核心API介绍
本文介绍了Netty的核心API以及他们的使用。 Netty核心API介绍 ChannelHandler及其实现类 API关系如下: #mermaid-svg-AcY3OPMp0F8Vaam5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-AcY3OPMp0F8Vaam5 .error-icon{fill:#552222;}#mermaid-svg-AcY3OPMp0F原创 2022-05-04 13:50:26 · 814 阅读 · 0 评论 -
Netty核心原理与线程模型
本文深入浅出的介绍了netty基础及高级使用,并通过分析netty源码来理解netty背后的原理。 netty核心原理 netty介绍 官网:https://netty.io/ 原生NIO存在的问题 NIO类库和API繁杂,使用麻烦。需要熟练掌握Selector、ServerSocketChannel、SocketChannel、ByteBuffer等。 需要具备其他额外技能:要熟悉Java多线程编程,因为NIO涉及到Reactor模式,必须对多线程和网络编程非常熟悉,才能编写出高质量的NIO程序原创 2022-05-04 13:46:34 · 251 阅读 · 0 评论 -
RPC架构设计
本文阐述了socket编程、IO网络模型,netty的原理以及Netty源代码的分析。 RPC架构设计 2022/03/01 校对完成 文章更新历史 2022/03/01 初稿。 socket socket网络编程 socket概述 socket套接字是两台主机之间逻辑连接的端点。 TCP/IP协议是传输层协议,主要解决数据在网络中的传输 socket是网络通信之间的抽象接口,它包含网络通信的五种基础信息:连接使用的协议、本地主机的ip地址、本地进程协议端口、远程主机ip地址、远程进程的协议端口。 s原创 2022-05-04 13:40:29 · 1414 阅读 · 0 评论 -
自定义RPC框架
分布式的基础问题是远程服务是怎么通讯的。 `java` 领域有很多可实现远程通讯的技术,例如:`RMI` 、`Hessian` 、`SOAP` 、`ESB` 和 `JMS` 等。原创 2022-03-14 01:00:31 · 1063 阅读 · 0 评论
分享