用 redis 实现分布式幂等服务中间件

背景 在编程领域,幂等性是指对同一个系统,使用同样的条件,一次请求和重复的多次请求对系统资源的影响是一致的。 在分布式系统里,服务通常通过 RPC 或 HTTP

golang 后台服务设计精要

守护进程 传统的后台服务一般作为守护进程(daemon)运行。linux 上创建 daemon 的步骤一般如下: 创建子进程,父进程退出; 调用系统调用 setsid() 脱离控制

golang cgo 使用总结

CGO 提供了 golang 和 C 语言相互调用的机制。某些第三方库可能只有 C/C++ 的实现,完全用纯 golang 的实现可能工程浩大,这时候 CGO 就派上用场了。可以通 CGO 在 golang 在调用 C 的接

golang channel 使用总结

不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程(goroutine)之间的通信来实现数据共

golang 的错误处理与异常

golang 中的错误处理的哲学和 C 语言一样,函数通过返回错误类型(error)或者 bool 类型(不需要区分多种错误状态时)表明函数的执行结果,调用检查返回的