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项目下面新建最简单的demoEventLoop事件循环组(线程组)源码EventLoopGroup 是一组 EventLoop 的抽象,Netty 为了更好的利用多核 CPU 资源,一般会有多个 Ev原创 2022-05-04 14:07:09 · 2652 阅读 · 0 评论 -
Netty高级进阶之Netty中的粘包和拆包的解决方案
本文阐述了Netty中常见的粘包和拆包问题,并深入分析了常用的解决方案。Netty高级进阶之Netty中的粘包和拆包的解决方案粘包和拆包简介粘包和拆包是TCP网络编程中不可避免的,无论是服务端和客户端,当读取或发送消息时,都需要考虑TCP底层的粘包/拆包机制。TCP是个流协议,流,就是没有界限的一组数据。TCP底层并不了解上层业务数据的具体含义它会根据TCP的缓冲区的实际情况进行包的拆分。在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小包封装成一个大的数据包发送,这原创 2022-05-04 14:01:48 · 1407 阅读 · 1 评论 -
Netty高级进阶之基于Netty的Websocket开发网页聊天室
本通过实战演练,学习了如何基于Netty的websocket开发一个网页聊天室。Netty高级进阶之基于Netty的Websocket开发网页聊天室Webdocket简介Websockt是一种在单个TCP连接上进行全双工通信的协议。Websocket使客户端和服务端的数据交互变得简单,允许服务器主动向客户端推送数据。在Websocket API中,客户端只需要与服务器完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。他的应用场景如下:社交订阅协同编辑/编程股票基金报价原创 2022-05-04 14:00:24 · 1518 阅读 · 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 · 1528 阅读 · 0 评论 -
Netty高级进阶之基于Netty的群聊天室案例
本文通过实战演练,学习了如何使用Netty开发一个群聊天室。Netty高级进阶之基于Netty的群聊天室案例案例要求编写一个 Netty 群聊系统,实现服务器端和客户端之间的数据简单通讯实现多人群聊服务器端:可以监测用户上线,离线,并实现消息转发功能客户端:可以发送消息给其它所有用户,同时可以接受其它用户发送的消息聊天室服务端编写服务端/** * 聊天室服务端 * * @name: NettyChatServer * @author: terwer * @date: 2原创 2022-05-04 13:56:26 · 677 阅读 · 0 评论 -
Netty高级进阶之Netty解码器
本文介绍了Netty编解码器的继承体系、常用API以及实际应用。netty高级Netty编解码器Java的编解码编码(Encode)称为序列化,它将对象序列为字节数组,用于网络传输、数据持久化或者其他用途。解码(Decode)称为反序列化,它将从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象),以方便后面的业务逻辑操作。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMFJo9YH-1651643667787)(https://cdn.jsde原创 2022-05-04 13:54:44 · 3389 阅读 · 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 · 432 阅读 · 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 · 730 阅读 · 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 · 172 阅读 · 0 评论 -
RPC架构设计
本文阐述了socket编程、IO网络模型,netty的原理以及Netty源代码的分析。RPC架构设计2022/03/01 校对完成文章更新历史2022/03/01 初稿。socketsocket网络编程socket概述socket套接字是两台主机之间逻辑连接的端点。TCP/IP协议是传输层协议,主要解决数据在网络中的传输socket是网络通信之间的抽象接口,它包含网络通信的五种基础信息:连接使用的协议、本地主机的ip地址、本地进程协议端口、远程主机ip地址、远程进程的协议端口。s原创 2022-05-04 13:40:29 · 1309 阅读 · 0 评论 -
自定义RPC框架
分布式的基础问题是远程服务是怎么通讯的。`java` 领域有很多可实现远程通讯的技术,例如:`RMI` 、`Hessian` 、`SOAP` 、`ESB` 和 `JMS` 等。原创 2022-03-14 01:00:31 · 939 阅读 · 0 评论