摘要: 前言 在并发编程中,我们经常会遇到多个goroutine同时操作一个map的情况。如果在这种情况下直接使用普通的map,那么就可能会引发竞态条件,造成数据不一致或者更严重的问题。 sync.Map是Go语言中内置的一种并发安全的map,但是他的实现和用法与普通的map完全不同,这篇文章将详细介绍这些 阅读全文
posted @ 2023-07-01 22:49 xpunch 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 前言 在git项目中,通过添加CHANGELOG.md可以展示项目的版本更新记录,方便用户查看项目的重大bug修复或不兼容版本信息。 本文介绍一个 changelog 工具,使用git命令获取git repository中的所有tags和commits log,生成CHANGELOG.md。 一、使 阅读全文
posted @ 2022-01-21 15:17 xpunch 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 前言 Go Micro Dashboard是基于go-micro和ng-alain开发的, 它既是go-micro开发过程中的工具,也可以作为学习go-micro的实际案例。接下来我将会详细介绍一下这个项目的一些实现细节。 一、服务列表 服务的发现与注册,是分布式微服务中重要的基础模块,单个服务通过 阅读全文
posted @ 2021-12-18 16:51 xpunch 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 前言 在对接Alexa Smart Home时,有的请求Payload中需要传入Access Token,但是这个Token是由OAuth2 Client管理的,封装Payload时并不知道Access Token。 所以使用自定义RoundTripper,在请求前取出Header里的token,修 阅读全文
posted @ 2021-11-28 15:01 xpunch 阅读(1450) 评论(0) 推荐(0) 编辑
摘要: 前言 使用Go Micro开发微服务系统很久了,但是一直没有很好的可视化工具用于开发和监控微服务系统。 所以基于go-micro和ng-alain开发了Go Micro Dashboard,目前已经支持查看服务列表和请求调用。 后续将持续更新,项目地址:github.com/xpunch/go-mi 阅读全文
posted @ 2021-11-26 11:17 xpunch 阅读(298) 评论(0) 推荐(0) 编辑