热重启 热重启(Zero Downtime),指新老进程无缝切换,在替换过程中可保持对 client 的服务。 原理 父进程监听重启信号 在收到重启信号后,父进程调用 fork ,同时传递 socket 描述符给子进程 …
分类:Go
Go 切片的 append 操作总结
预备 切片是对其底层数组的某一段的引用。 切片有 len 和 cap 两个属性,代表切片的引用长度和切片的容量(从切片的引用起点位置到其底层数组最末端的长度。因为其底层数组的长度是固定的,这也就是意味着容量是指切片可引用…
结构体
Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型。一个带属性的结构体试图表示一个现实世界中的实体。结构体是复合类型(composite types),当需要定义一个类型,它由一…
Using context cancellation in Go
原文地址: https://neojos.com/blog/2019/… 文章介绍最近工作中遇到的一个问题,其中50%以上的内容都是Go的源代码。剩下部分是自己的理解,如果有理解错误或探讨的地方,希望大家指正…
go中数组array
go中数组array 数组是具有相同 唯一类型 的一组已编号且长度固定的数据项序列(这是一种同构的数据结构); 特点: 数据类型统一 长度固定 // 声明数组格式 var identifier [len]type // …
Windows 下 tusd 编译安装全流程
原文链接:https://github.com/Dream4ever… 项目简介 tus/tusd,这是项目官网,该项目是一个后端服务,用于接收从前端页面所上传的文件。搭配前端 JS 库 transloadi…
go实现栈
本来写敏感词检测的代码,后面需求撤销了,留下一点可复用的代码怀念下 package stack // 不确定变量类型和结构,使用了interface type Stack struct { data []interfac…
database package
清除无效连接 在database库下清除过期连接时,使用了如下的代码逻辑。其中freeConn是空闲连接池,d是连接可被重复使用的最长时间,nowFunc返回的是当前时间。最新生成的连接在freeConn的末尾,而清除的…
RPC(一):thrift 框架 go语言开发
1、写 thrift 文件定义好 service :方法、入参出参2、生成 代码并发包3、编写 server 端实现4、本地启动server端,进行测试5、打包启动 rpc 服务 具体实现:1、写 thrift 文件定义…
Golang 执行 shell 脚本,并实时按行打印 shell 脚本输出信息
测试代码地址:https://github.com/kirinlabs/execshell Golang 执行 shell 脚本,不接收返回值 // 返回一个 cmd 对象 cmd := exec.Comm…
区块链行业大动作!首例数据协议层开源了
协议层概要 通过区块链提供数据交换的SDK,让开发者可以快速方便的开发DAPP应用。 主要包含这些内容:数据加解密;签名;智能合约;事件通知;数据存储接口;数据获取与查询;数字货币支付;第三方App支付接口等。过程如下:…
Go Micro Options 函数选项模式
函数选项 Functimional Options 在Go语言中是没有默认函数的,但是我们可以使用函数选项模式来优雅的解决这个问题。函数选项模式不仅仅可以解决默认函数的问题还可以解决大量参数造成的代码复杂的问题。使用这个…