摘要: 1. 什么是gRPC gRPC是谷歌公司基于protobuf开发的跨语言的开源RPC框架,基于http/2协议设计,对移动设备更加友好。 go语言gRPC技术栈最底层为TCP或者Unix套接字协议,在此之上是http/2协议的实现,然后在http/2协议之上有构建了针对go语言的gRPC核心库。应用 阅读全文
posted @ 2022-03-20 21:01 aganippe 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 1. RPC简介 RPC是远程系统调用的缩写,通俗地讲就是调用远处的一个函数,可能是一个文件内的不同函数,也可能是一个机器上另一个进程的函数,也可能是远处机器上的函数。 RPC是分布式系统中不同节点之间的通信方式,Go的标准库也实现了一个简单的RPC。 2. RPC简单使用 首先构造一个HelloS 阅读全文
posted @ 2022-03-20 20:04 aganippe 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1. golang map golang原生map在并发场景下,同时读写是线程不安全的,如论key是否一样,我们可以编写一个测试用例来看看同时读写不同的key会发生什么情况: func testForMap() { m := make(map[int]int) go func() { for { m 阅读全文
posted @ 2022-03-20 13:40 aganippe 阅读(468) 评论(0) 推荐(0) 编辑