随笔分类 - JAVA RPC
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V4——RPC -- 远程方法调用 + Spring 自动注册 服务提供商: 1. 配置 rpc04_server.xml 注入 服务提供商 rpcServiceProvider并指定初始化方法、销毁方法 及 服务实例 IUserService 2
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V3——RPC -- 远程方法调用 及 null的传输 + Spring 服务提供商: 1. 配置 rpc03_server.xml 注入 服务提供商 rpcServiceProvider并指定初始化方法 及 服务实例 IUserService 2
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——RPC -- 本地方法调用 + Spring 1. 配置applicationContext.xml文件 注入 bean 及 管理 bean 之间的依赖关系 2. RPCObjectProxy 类 实现 FactoryBean<Object
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V1——RPC -- 本地方法调用:不通过网络 入门 1. RPCObjectProxy rpcObjectProxy = new RPCObjectProxy(new LocalRPCClient()); : 绑定目标对象 2. IUserSer
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- new LengthFieldPrepender(2) : 设置数据包 2 字节的特征码 new LengthFieldBasedFrameDecoder(65535, 0, 2, 0, 2) : 65535 :数据包长度
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- pipeline.addLast(io.netty.handler.codec.MessageToMessageCodec<INBOUND_IN, OUTBOUND_IN>) 覆写编码解码方法。 pipeline相当于拦截
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——Netty -- 使用序列化和反序列化在网络上传输对象:需要实现 java.io.Serializable 接口 只能传输( ByteBuf, FileRegion )两种类型,因此必须将对象在发送之前进行序列化,放进ByteBuf中,客户
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V1——Netty入门应用 Class : NIOServerBootStrap Class : CustomServerChannelInitializer Class : CustomServerChannelHandlerAdapter Cl
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2——增加WriteQueue队列,存放selectionKey。addWriteEventToQueue()添加selectionKey并唤醒阻塞的selector。等selector唤醒之后再注册OP_WRITE事件。 ( selection
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 V1——设置标识变量selectionKey.attach(true);只处理一次(会一直循环遍历selectionKeys,占用CPU资源)。 (由于key没有清除,依旧在selectionKeys中存在,遍历时依旧会检测到对应事件,除非sock
阅读全文
摘要:-- 啦啦啦 -- 网络编程 -- RPC实现原理 -- NIO单线程 网络编程 -- RPC实现原理 -- NIO多线程 -- 迭代版本V1 网络编程 -- RPC实现原理 -- NIO多线程 -- 迭代版本V2 网络编程 -- RPC实现原理 -- Netty -- 迭代版本V1 -- 入门应用
阅读全文
摘要:网络编程 -- RPC实现原理 -- 目录 啦啦啦 Class : Service Class : Client Console : Server Console : Client 啦啦啦
阅读全文
摘要:比如hello world服务类,本地调用。这些程序的特点是服务消费方和服务提供方是本地调用关系。 大型系统都由成千上万大大小小的服务组成,各服务部署在不同的机器上,由不同的团队负责。 这时就会遇到两个问题: 1)要搭建一个新服务,免不了需要依赖他人的服务,而现在他人的服务都在远端,怎么调用? 2)
阅读全文