RPC
RPC
杨林伟
像火箭科学家一样思考!
展开
-
06RPC - netty实现RPC以及Zookeeper
平常使用的RPC中,例如webservice,使用的习惯类似于下图: 如果需要基于netty实现一个我们熟悉的RPC框架。逻辑如下: 在上面的框架中,server端存在着一个问题,就是单点问题,也就是说,当服务端“挂了”之后,框架的使用就造成了单点屏障。我们可以通过zookeeper来实现服务端的负载均衡 ...原创 2019-08-05 17:48:50 · 399 阅读 · 0 评论 -
05RPC - netty发送对象
Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输。 例如http协议中,就是通过HttpRequestDecoder对ByteBuf数据流进行处理,转换成http的对象。基于这个思路,我自定义一种通讯协议:Server和客户端直接传输java对象。 实现的原理是通过Encoder把java对象转换成ByteBuf流进行传输,通过Decoder把ByteBuf转换成jav...原创 2019-08-05 17:35:06 · 355 阅读 · 0 评论 -
04RPC - netty中handler的执行顺序
Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。 Netty中的所有handler都实现自ChannelHandler接口。按照输出输出来分,分为ChannelInboundHandler、 Channel...原创 2019-08-05 17:20:53 · 492 阅读 · 0 评论 -
03RPC - netty简介及入门
Netty 是基于Java NIO的网络应用框架. Netty 是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty 提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty的内部实现很复杂,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。Netty是完全基于N...原创 2019-08-05 17:10:26 · 355 阅读 · 0 评论 -
02RPC - socket nio原理
NIO是New IO 的简称,在jdk1.4 里提供的新api 。Sun 官方标榜的特性如下: 为所有的原始类型提供(Buffer)缓存支持,字符集编码解码解决方案。 Channel : 一个新的原始I/O 抽象。 支持锁和内存映射文件的文件访问接口。 提供多路(non-bloking) 非阻塞式的高伸缩性网络I/O 。 传统的I/O 使用传统的I/O程序读取文件内容, 并写入到另一个文件(或So...原创 2019-08-05 17:00:54 · 353 阅读 · 0 评论 -
01RPC - RPC介绍
RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC采用客户机/服务器模式。请求程序就...原创 2019-08-05 16:51:20 · 324 阅读 · 0 评论