用GO写一个RPC框架 s05 (客户端编写)

2021-07-23
阅读 12 分钟
1.1k
前言前面几章我们完成了 服务端的编写 现在开始客户端编写[链接]Client {代码...} option {代码...} 具体每个链接 {代码...} 初始化连接池 {代码...} Connect 调用具体服务 {代码...} 调用核心 重点复习 s03 协议设计 {代码...} 注意: 每一个请求都有一个 magicNumber 都有一个请求ID单个链接定义 {代码...} 初始化单个...

用GO写一个RPC框架 s04 (编写服务端核心)

2021-07-23
阅读 13 分钟
1.5k
前言通过上两篇的学习 我们已经了解了 服务端本地服务的注册, 服务端配置,协议 现在我们开始写服务端的核心逻辑[链接]默认配置我们先看下默认的配置 {代码...} run服务注册完毕之后 调用Run方法 启动服务 {代码...} 我们先回顾一下 上章讲的 握手逻辑建立链接 通过非对称加密 传输 aes 密钥给服务端 (携带token)服务端 ...

用GO写一个RPC框架 s03 (协议设计)

2021-07-23
阅读 7 分钟
1.4k
前言该RPC支持 TCP KCP UNIX 所以我们要对协议进行设计[链接]定义握手协议握手逻辑:建立链接 通过非对称加密 传输 aes 密钥给服务端 (携带token)服务端 验证 token 并记录 aes 密钥 后面与客户端交互 都采用对称加密起始符keySizetokenSizeerrorSizekeytokenerr0x09444xxxxxxxxxxxx {代码...} 编码 {代码...} 解码 {代码...

用GO写一个RPC框架 s02(服务端配置)

2021-07-23
阅读 2 分钟
1.3k
前言上一篇 我们讲了服务注册的内部设计, 写了一个服务的管理工具 {代码...} 这次我们看看服务的配置如何写 才最优雅先来看看Options {代码...} 这里有非常多 可以填写的地方如果我们采用 最原始的方式 这个配置就会非常的冗长 不好维护 {代码...} 我们现在引入一个新的设计方式type Option func(options *Options) 我...

用GO写一个RPC框架 s01(服务内部注册实现)

2021-07-23
阅读 5 分钟
1.4k
Dubbo/Dubbox、Google gRPC、RPCX、Spring Boot/Spring Cloud 如此多的RPC框架 我们当然要了解下他们的原理呀