2021年4月16日

Go语言---strings包(字符串操作)

摘要: strings标准库包主要涉及字符串的基本操作。 常见字符串的操作有: 字符串求长度 求子串 是否存在某个字符或者子串 子串出现的次数(字符串匹配) 字符串分割(切分)成[]string 字符串是否存在某个前缀或后缀 字符或者子串在字符串中首次出现的位置或最后一次出现的位置 通过某个字符串将[]st 阅读全文

posted @ 2021-04-16 11:43 ExplorerMan 阅读(1125) 评论(0) 推荐(0)

gRPC为什么用HTTP2作为传输协议

摘要: HTTP / 2: 多路复用 TCP连接 二进制代替文本 标题压缩 服务器推送 基于HTTP/2 的缺点 rpc的元数据的传输不够高效 尽管HPAC可以压缩HTTP Header,但是对于rpc来说,确定一个函数调用,可以简化为一个int,只要两端去协商过一次,后面直接查表就可以了,不需要像HPAC 阅读全文

posted @ 2021-04-16 10:38 ExplorerMan 阅读(548) 评论(0) 推荐(0)

Golang 服务优雅重启

摘要: 很多时候对于服务升级的做法简单粗暴, 就简单的杀进程启动新的进程. 还有的好一点就是多个相同的服务依次升级, 保证有服务可用. 但是公平的说这两种都会丢失请求中的连接. 鉴于这种情况, 在现实中我们可以使用优雅重启来搞定这个问题. Golang 实现优雅重启的原理也很简单: 监听 USR2 信号; 阅读全文

posted @ 2021-04-16 10:21 ExplorerMan 阅读(312) 评论(0) 推荐(0)

go优雅重启或停止

摘要: 想要优雅地重启或停止你的Web服务器,使用下面的方法 我们可以使用fvbock/endless来替换默认的ListenAndServe,有关详细信息,请参阅问题#296 router := gin.Default() router.GET("/", handler) // [...] endless 阅读全文

posted @ 2021-04-16 00:42 ExplorerMan 阅读(559) 评论(0) 推荐(0)

go语言sync包的学习(Mutex、WaitGroup、Cond)

摘要: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 阅读全文

posted @ 2021-04-16 00:25 ExplorerMan 阅读(92) 评论(0) 推荐(0)

go语言中container容器数据结构heap、list、ring

摘要: heap堆的使用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 阅读全文

posted @ 2021-04-16 00:22 ExplorerMan 阅读(98) 评论(0) 推荐(0)

Linux namespace命名空间

摘要: namespace[1]提供一种隔离机制,让不同的namespace下的进程看到的全局资源不同,每一个namespace有一个自己独立的全局资源实例。 namespace的一个用途是实现容器。 linux-namespace.png Linux系统下的namespace类型 名称API中使用的标识手 阅读全文

posted @ 2021-04-16 00:01 ExplorerMan 阅读(607) 评论(0) 推荐(0)

导航