使用 Go 从零开始实现 CNI

对于很多刚入坑云原生技术栈的同学来说,容器网络与 Kubernetes 网络一直很“神秘”,也是很多人容器技术上升曲线的瓶颈,但它也是我们深入走进云原生世界绕不过的话题。要彻底地搞清楚容…

Go 的几种函数参数传递方式

一般传递 Go 语言支持通过顺序传递参数来调用函数,如以下示例函数所示。 // ListApplications Query Application List func ListApplications(limit, offset int) []Application { ret…

Go 解析JSON

This article will explain how to use the go language to parse JSON into structures and arrays, how to map JSON custom attribute names to structures, and how to parse unstru…

Gin 框架 Gorm更新零值

Gorm是用go语言编写的orm框架,它将数据库的结构与语言(golang)本身的数据结构对应了起来,其目的是为了加快我们CRUD的速度,简化sql语句的书写,利用对象的思想,让Gorm框架为我们拼接…

Asynq实现Go异步crontab定时任务

最近在用Go写运维平台, 需要在Go应用程序中非同步处理任务, go cron并不能满足我的需求,于是在github发现了Asynq库。 让我们来动手实验asynq的用法吧! Asynq是一个Go库,用于将任务…

golang使用logrus记录日志

介绍 logrus 它是一个结构化、插件化的日志记录库。完全兼容 golang 标准库中的日志模块。它还内置了 2 种日志输出格式 JSONFormatter 和 TextFormatter,来定义输出的日志格式。 githu…

go kafka consumer group 使用姿势

概述: kafka消费者、消费者组和消费者位移? kafka幂等性以及避免重复消费? go kafka consumer 封装 背景:和producer同样的用途,统计博客网页浏览数据 kafka消费者、消费者组和消费…

go kafka producer 实践与落地

概述 kafka 库 producer config 配置 sync vs async 压缩方式 背景:博客文章想统计访问数据,每日pv/uv/ip数据 分析: 网页浏览数据,主要以写为主 时效性、事务持久要求不高 数据量大…

go json 解析小技巧

omitempty 字段为空时( 空指针, 空接口, 空数组, slice, map, or string.),json encode时不返回该字段 type person struct { Name string `json:"name,omitempty"` Age int `json:"ag…