首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
RPC
订阅
打_工_人
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
go语言实现自己的RPC:go rpc codec
RPC是远程过程调用(Remote Procedure Call)的简称,通过RPC我们可以像调用本地方法一样调用位于其他位置的函数。大家更常见的可能是HTTP API调用,简单来对比的话,RPC比起HTTP调用封装更完善,调用者不必手动处理序列化和反序列化,使用成本更低一些(…
Go Rpc
go 提供了自带的序列化协议gob(go binary),可以进行原生go类型的序列化和反序列化,其中一个应用就是go语言自带的rpc功能,主要在net/rpc包下。 go 自带的rpc提供了简单的rpc相关的api,用户只需要依照约定实现function然后进行服务注册,就可…
说说我为什么看好Spring Cloud Alibaba
最近对《Spring Cloud Alibaba基础教程》系列的催更比较多,说一下最近的近况:因为打算Spring Boot 2.x一起更新。所以一直在改博客Spring Boot专题页和Git仓库的组织。由于前端技术太过蹩脚,花了不少时间。大家不用担心,这个系列不会太监,因为…
从零开始实现一个RPC框架(三)
到目前为止我们的框架已经有了一部分服务治理的功能,这次我们在之前的基础上实现一些其他功能。篇幅所限这里只列举部分实现,完整代码参考:github 实现我们之前的注册中心的接口即可,这里使用了docker的libkv而不是直接用zk客户端(从rpcx那学的),libkv封装了对于…
从零开始实现一个RPC框架(二)
上一篇文章里我们实现了基本的RPC客户端和服务端,这次我们开始着手实现更上层的功能。篇幅所限,具体的代码实现参见:代码地址 首先让我们来重新定义Client和Server:SGClient和SGServer。SGClient封装了上一节定义的RPCClient的操作,提供服务治…
从零开始实现一个RPC框架(一)
在上一篇文章中我们先列举了大致的需求,定义了消息协议。这次我们着手搭建基本的RPC框架,首先实现基础的方法调用功能。 RPC调用的第一步,就是在服务端定义要对外暴露的方法,在grpc或者是thrift中,这一步我们需要编写语言无关的idl文件,然后通过idl文件生成对应语言的代…
从零开始实现一个RPC框架(零)
最近决心开始学习go语言,但是苦于没有实际的应用场景,学习始终停留在hello world层面,看过的教程和资料印象也不深刻。于是决定从go自带的rpc实现开始切入,了解一下go语言在实际场景下是如何使用的,包括异常处理、代理和过滤、go routine的用法等等,同时也简单了…
go语言处理TCP拆包/粘包
最近在学习go自带的rpc,看完了一遍想着自己实现一个codec,也就是自定义消息的序列化和反序列化。消息的序列化和反序列化涉及到两步:1、从网络中读取数据和将数据写到网络中;2、根据拿到的二进制数据反序列化以及把现有的对象序列化成二进制数据。而这个过程中就需要处理TCP的拆包…
[译] 为什么我们要切换到 gRPC
如果你在使用微服务式架构,那么你需要作出的一个基本决策就是:服务之间应该如何交换信息?默认的方法似乎是使用 HTTP 协议发送 JSON 信息 —— 也就是使用所谓的 REST API,但是大多数人并没有认真执行 REST 的原则。使用 REST API 的 fromAtoB …