-
java 从零开始手写 RPC (06) reflect 反射实现通用调用之客户端
通用调用
java 从零开始手写 RPC (01) 基于 socket 实现
java 从零开始手写 RPC (02)-netty4 实现客户端和服务端
java 从零开始手写 RPC (03) 如何实现客户端调用服务端?
java 从零开始手写 RPC (04) -序列化
上一篇我们介绍了,如何实现基于反射的通用服务端。
这一节我们来一起学习下如何实现通用客户端。
因为内容较...
2018-08-24 08:23:15 |
Java
-
java 从零开始手写 RPC (05) reflect 反射实现通用调用之服务端
通用调用
java 从零开始手写 RPC (01) 基于 socket 实现
java 从零开始手写 RPC (02)-netty4 实现客户端和服务端
java 从零开始手写 RPC (03) 如何实现客户端调用服务端?
java 从零开始手写 RPC (04) -序列化
前面我们的例子是一个固定的出参和入参,固定的方法实现。
本节将实现通用的调用,让框架具有更广泛的实用性。
...
2018-08-24 08:23:15 |
Java
-
java 从零开始手写 RPC (04) -序列化
序列化
java 从零开始手写 RPC (01) 基于 socket 实现
java 从零开始手写 RPC (02)-netty4 实现客户端和服务端
java 从零开始手写 RPC (03) 如何实现客户端调用服务端?
前面几节我们实现了最基础的客户端调用服务端,这一节来学习一下通讯中的对象序列化。
为什么需要序列化
netty 底层都是基于 ByteBuf 进行通讯的。
...
2018-08-24 08:23:15 |
Java
-
基于 netty4 手写 rpc-05-客户端主动调用服务端
说明
我们上一章的例子中,我们的调用是在客户端启动的时候完成的。
实际使用中,我们希望调用可以有客户端主动发起。
客户端
核心
/**
* <p> rpc 客户端 </p>
*
* <pre> Created: 2019/10/16 11:21 下午 </pre>
* <pre> Project: rpc &l...
2018-08-24 08:23:15 |
Java
-
java 从零开始手写 RPC (03) 如何实现客户端调用服务端?
说明
java 从零开始手写 RPC (01) 基于 socket 实现
java 从零开始手写 RPC (02)-netty4 实现客户端和服务端
写完了客户端和服务端,那么如何实现客户端和服务端的调用呢?
下面就让我们一起来看一下。
接口定义
计算方法
package com.github.houbb.rpc.common.service;
import com.gith...
2018-08-24 08:23:15 |
Java
-
基于 netty4 手写 rpc-02-client 客户端代码实现
说明
上一篇我们实现了服务端的实现,这一节来一起看一下 client 客户端代码实现。
代码实现
RpcClient
/*
* Copyright (c) 2019. houbinbin Inc.
* rpc All rights reserved.
*/
package com.github.houbb.rpc.client.core;
import com.githu...
2018-08-24 08:23:15 |
Java
-
java 从零开始手写 RPC (02)-server 服务端代码实现
说明
上一篇代码基于 socket 的实现非常简单,但是对于实际生产,一般使用 netty。
至于 netty 的优点可以参考:
为什么选择 netty?
https://houbb.github.io/2019/05/10/netty-definitive-gudie-04-why-netty
代码实现
maven 引入
<dependency>
...
2018-08-24 08:23:15 |
Java
-
java 从零开始手写 RPC (01) 基于 websocket 实现
RPC
解决的问题
RPC 主要是为了解决的两个问题:
(1)解决分布式系统中,服务之间的调用问题。
(2)远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。
这一节我们来学习下如何基于 websocket 实现最简单的 rpc 调用,后续会实现基于 netty4 的版本。
开源地址: https://github.com/houbb/rpc
完整流...
2018-08-24 08:23:15 |
Java