上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 23 下一页
摘要: 分布式系统 分布式id生成器 有时我们需要能够生成类似MySQL自增ID这样不断增大,同时又不会重复的id。以支持业务中的高并发场景。比较典型的,电商促销时,短时间内会有大量的订单涌入到系统,比如每秒10w+。明星出轨时,会有大量热情的粉丝发微博以表心意,同样会在短时间内产生大量的消息。 在插入数据 阅读全文
posted @ 2020-06-09 17:46 Binb 阅读(311) 评论(0) 推荐(0) 编辑
摘要: Web 开发简介 因为Go的net/http包提供了基础的路由函数组合与丰富的功能函数。所以在社区里流行一种用Go编写API不需要框架的观点,在我们看来,如果你的项目的路由在个位数、URI固定且不通过URI来传递参数,那么确实使用官方库也就足够。但在复杂场景下,官方的http库还是有些力有不逮。例如 阅读全文
posted @ 2020-06-08 21:51 Binb 阅读(764) 评论(0) 推荐(0) 编辑
摘要: grpcurl工具 Protobuf本身具有反射功能,可以在运行时获取对象的Proto文件。gRPC同样也提供了一个名为reflection的反射包,用于为gRPC服务提供查询。gRPC官方提供了一个C实现的grpc_cli工具,可以用于查询gRPC列表或调用gRPC方法。但是C版本的grpc_cl 阅读全文
posted @ 2020-06-08 20:16 Binb 阅读(2395) 评论(0) 推荐(0) 编辑
摘要: gRPC和Protobuf扩展 目前开源社区已经围绕Protobuf和gRPC开发出众多扩展,形成了庞大的生态。本节我们将简单介绍验证器和REST接口扩展。 验证器 到目前为止,我们接触的全部是第三版的Protobuf语法。第二版的Protobuf有个默认值特性,可以为字符串或数值类型的成员定义默认 阅读全文
posted @ 2020-06-07 22:18 Binb 阅读(731) 评论(0) 推荐(0) 编辑
摘要: 解决步骤: 1:先在IDE访问google/protobuf/descriptor.proto将其copy 2:创建类似结构 -gopath -src -google -protobuf -descriptor.proto 3.将copy的文件赋值到descriptor.proto中(或不需要创建直 阅读全文
posted @ 2020-06-07 17:44 Binb 阅读(14937) 评论(1) 推荐(1) 编辑
摘要: gRPC入门 gRPC是Google公司基于Protobuf开发的跨语言的开源RPC框架。gRPC基于HTTP/2协议设计,可以基于一个HTTP/2链接提供多个服务,对于移动设备更加友好。本节将讲述gRPC的简单用法。 gRPC技术栈 最底层为TCP或Unix Socket协议,在此之上是HTTP/ 阅读全文
posted @ 2020-06-07 13:28 Binb 阅读(590) 评论(0) 推荐(0) 编辑
摘要: 玩转RPC 在不同的场景中RPC有着不同的需求,因此开源的社区就诞生了各种RPC框架。本节我们将尝试Go内置RPC框架在一些比较特殊场景的用法。 客户端RPC的实现原理 Go语言的RPC库最简单的使用方式是通过Client.Call方法进行同步阻塞调用,该方法的实现如下: func (client 阅读全文
posted @ 2020-06-06 14:37 Binb 阅读(348) 评论(0) 推荐(0) 编辑
摘要: Protobuf Protobuf是Protocol Buffers的简称,它是Google公司开发的一种数据描述语言,并于2008年对外开源。Protobuf刚开源时的定位类似于XML、JSON等数据描述语言,通过附带工具生成代码并实现将结构化数据序列化的功能。但是我们更关注的是Protobuf作 阅读全文
posted @ 2020-06-06 13:17 Binb 阅读(578) 评论(1) 推荐(1) 编辑
摘要: RPC RPC入门 RPC是远程过程调用的简称,是分布式系统中不同节点间流行的通信方式。在互联网时代,RPC已经和IPC一样成为一个不可或缺的基础构件。因此Go语言的标准库也提供了一个简单的RPC实现,我们将以此为入口学习RPC的各种用法。 RPC版"Hello, World" Go语言的RPC包的 阅读全文
posted @ 2020-06-06 10:27 Binb 阅读(361) 评论(0) 推荐(0) 编辑
摘要: GoroutineID 在操作系统中,每个进程都会有一个唯一的进程编号,每个线程也有自己唯一的线程编号。同样在Go语言中,每个Goroutine也有自己唯一的Go程编号,这个编号在panic等场景下经常遇到。虽然Goroutine有内在的编号,但是Go语言却刻意没有提供获取该编号的接口。本节我们尝试 阅读全文
posted @ 2020-06-05 21:25 Binb 阅读(666) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 23 下一页