30、ORM:CURD 神器 GORM 包介绍及实战

你好,我是孔令飞。 在用Go开发项目时,我们免不了要和数据库打交道。每种语言都有优秀的ORM可供选择,在Go中也不例外,比如gorm、xorm、gorose等。目前,GitHub上 star数最多的是GORM,它也是当前Go项目中使用最多的ORM。 ...

Go 语言项目开发实战

31、数据流:通过iam、authz、server设计,看数据流服务的设计

你好,我是孔令飞。 在 [28讲] 和 [29讲] ,我介绍了IAM的控制流服务iam-apiserver的设计和实现。这一讲,我们再来看下IAM数据流服务iam-authz-server的设计和实现。 因为iam-authz-server是数据流服...

Go 语言项目开发实战

32、数据处理:如何高效处理应用程序产生的数据

你好,我是孔令飞。今天我们来聊聊,如何更好地进行异步数据处理。 一个大型应用为了后期的排障、运营等,会将一些请求数据保存在存储系统中,供日后使用。例如:应用将请求日志保存到 Elasticsearch 中,方便排障;网关将 API 请求次数、请求消息...

Go 语言项目开发实战

33、 SDK 设计(上):如何设计出一个优秀的 Go SDK

你好,我是孔令飞。接下来的两讲,我们来看下如何设计和实现一个优秀的Go SDK。 后端服务通过API接口对外提供应用的功能,但是用户直接调用API接口,需要编写API接口调用的逻辑,并且需要构造入参和解析返回的数据包,使用起来效率低,而且有一定的开发...

Go 语言项目开发实战

34、SDK 设计(下):IAM项目Go SDK设计和实现

你好,我是孔令飞。 上一讲,我介绍了公有云厂商普遍采用的SDK设计方式。其实,还有一些比较优秀的SDK设计方式,比如 Kubernetes的 client-go SDK设计方式。IAM项目参考client-go,也实现了client-go风格的SDK...

Go 语言项目开发实战

35、效率神器:如何设计和实现一个命令行客户端工具

你好,我是孔令飞。今天我们来聊聊,如何实现一个命令行客户端工具。 如果你用过Kubernetes、Istio、etcd,那你一定用过这些开源项目所提供的命令行工具:kubectl、istioctl、etcdctl。一个 xxx 项目,伴随着一个 xx...

Go 语言项目开发实战
1456789