2021年1月23日
gRPC是Google开源的一款RPC框架,跟具体语言无关,以protobuf作为IDL,通过protoc来编译框架代码。gRPC的Java实现的底层网络库是基于Netty开发而来,其Go实现是基于net库。 先说下Protobuf,它是一个纯粹的展示层协议,可以和各种传输层协议一起使用;Protobuf的文档也非常完善。 ………
阅读全文
2021年1月23日
Thrift是Facebook开源提供的一个高性能,轻量级RPC服务框架,其产生正是为了满足当前大数据量、分布式、跨语言、跨平台数据通讯的需求。 但是,Thrift并不仅仅是序列化协议,而是一个RPC框架。相对于JSON和XML而言,Thrift在空间开销和解析性能上有了比较大的提升,对于对性能要求比较高的分布式系统,它是一个优秀的RPC ………
阅读全文
2021年1月22日
Go 语言广泛地应用于云计算和微服务,成熟的 RPC 框架和微服务框架不少;grpc、rpcx、go-zero、go-micro 等都是非常成熟的框架。通常来说RPC 是微服务框架的一个子集,微服务框架可以自己实现 RPC ,或者选择不同的 RPC 框架作为通信基础。 为了深入学习RPC框架,我们这里模拟标准库net/rpc,自己从零开始 ………
阅读全文
2021年1月21日
通常我们写程序时需要封装,需要函数调用,函数调用通常在本程序内完成。随着计算机技术的发展和需求场景的变化,有时就需要从一台计算机上执行另外一台计算机上的程序的需求,因此发展出来了RPC技术。特别是目前随着互联网技术的快速迭代和发展,用户和需求几乎都是以指数式的方式在高速增长,这个时候绝大多数情况下程序都是部署在多台机器上,就需要在调用其他……
阅读全文