随笔分类 - Go语言高并发与微服务实战专题精讲
摘要:远程过程调用 RPC——高性能的 gRPC(实践案例) gRPC,这一由Google推出的高性能、开源、通用RPC框架,凭借其众多引人注目的特性,已成为业界瞩目的焦点。它基于HTTP/2协议标准设计开发,并采用Protocol Buffers作为默认的数据序列化协议,广泛支持多种编程语言。gRPC不
阅读全文
摘要:远程过程调用RPC——优化RPC调用, 缓解频繁请求导致的GC压力 在Go语言的高并发和微服务架构中, 远程过程调用(RPC)是一种常用的通信机制。然而, 当频繁发送RPC请求时, 不断创建Request和Response结构体可能会带来额外的垃圾收集(GC)压力, 进而影响应用的性能和响应时间。为
阅读全文
摘要:远程过程调用 RPC——客户端处理RPC请求的原理及源代码分析 客户端无论是同步调用还是异步调用, 每次RPC请求都会生成一个Call对象, 并使用seq作为key保存在map中, 服务端返回响应值时再根据响应值中的seq从map中取出Call, 进行相应处理。 客户端发起RPC调用的过程大致如下所
阅读全文
摘要:远程过程调用 RPC——服务端处理RPC请求的原理及源代码分析 RPC网络调用会使用到Request和Response两个结构体,分别是请求参数和返回参数,通过编解码器(gob/json)实现二进制和结构体的互相转换,它们的定义如下所示: 在Go语言的RPC服务端,一个持续运行的循环不断地监听并接收
阅读全文
摘要:远程过程调用 RPC——服务端注册源代码实现原理分析 rpc server demo代码参考我前一篇博文:https://www.cnblogs.com/zuoyang/p/18146870 RPC Server端的RPC代码架构主要由两大部分构成: 第一部分是服务方法的注册过程。在这个过程中, 我
阅读全文
摘要:远程过程调用 RPC —— 实践案例:Go语言RPC过程调用实践 Go语言的官方RPC库net/rpc为开发者提供了实现远程过程调用的强大功能,使得通过网络访问对象的方法成为可能。这种机制极大地促进了分布式系统的构建,让不同的服务能够轻松地进行相互通信和协作。 在使用Go的RPC库时,服务器需要注册
阅读全文
摘要:远程过程调用 RPC——RPC相关的基础知识和原理 在微服务架构中,各个服务实例专注于处理特定业务领域的逻辑。为了实现整体业务流程,这些服务实例之间必须进行频繁的交互。它们之间的通信依赖于轻量级的远程调用方式,如RPC(远程过程调用)和HTTP。尽管HTTP是应用层协议,但RPC在网络协议方面具有更
阅读全文