Go的内存分配

作者:sryan 更新时间:2018-08-08 17:53 分类:golang

Go的内存分配 我们都知道,golang之所以相比c++好用、开发效率高,得益于goroutine与channel的组合,使得开发并行程序的效率大大提升。但是其实开发并行程序,内存管理是相当的头疼,G...

点击数:2069 回复数:0

记一次读写锁的排障过程

作者:sryan 更新时间:2018-08-29 09:19 分类:golang

记一次读写锁的排障过程 上午某个测试环境下的api服务器出现了异常,具体表现为对数据库的读写均挂起,查看日志,有报 Too many connections 的,有报 Connection timeo...

点击数:4837 回复数:0

Go的协程调度

作者:sryan 更新时间:2018-08-08 12:26 分类:golang

Go的协程调度 Golang由于其轻量级线程goroutine的特性得到大家的关注,轻量级线程的出现也使得各种回调加上下文恢复的工作转移到了内置的runtime调度器中,不用程序员自己处理了,极大的降...

点击数:1937 回复数:0

Golang中的覆盖率测试

作者:sryan 更新时间:2016-11-16 12:04 分类:golang

Golang中的覆盖率测试 golang中提供了不少工具链,可以使用它们方便的进行单元测试、分析性能瓶颈,提供运行时信息等,总而言之是非常有用的。 go test这个工具大家用的应该比较多,之前我使用...

点击数:2192 回复数:0

使用redis写一个简单的分布式锁

作者:sryan 更新时间:2016-09-22 15:57 分类:golang

对于一个进程来说,内部的资源锁有很多的实现方式,也都很高效,对于同一个机器的不同进程做同步的话,也有很多的方式去实现,对于不同机器上部署的程序来说,假如要进行同步,则比较麻烦。 最简单的方式可能就是使...

点击数:1254 回复数:0

将Go函数导入Lua中供lua调用

作者:sryan 更新时间:2016-08-29 16:05 分类:golang

将Go函数导入Lua中供lua调用 有一个需求,就是使用go语言来实现一些基本模块,使用lua来实现基本逻辑,于是就有了在lua中调用go函数的需求。 go的资料非常少,好在go可以嵌入c语言,使得这...

点击数:1555 回复数:0

golang 模板(template)的常用基本语法

作者:sryan 更新时间:2018-09-03 17:06 分类:golang

golang 模板(template)的常用基本语法 模板 在写动态页面的网站的时候,我们常常将不变的部分提出成为模板,可变部分通过后端程序的渲染来生成动态网页,golang提供了html/templ...

点击数:1167 回复数:0

NSQ的golang客户端简单使用

作者:sryan 更新时间:2016-08-29 11:20 分类:golang

NSQ的golang客户端简单使用 NSQ 是由国外的一个短链服务商bitly使用golang开发的一个消息队列系统,正好使用到了这个东西,在这里简单的记录下。 获取客户端 nsq的golang客户端...

点击数:1202 回复数:0

用Go写一个简单的TCP server or client 模型

作者:sryan 更新时间:2016-08-19 20:24 分类:golang

用Go写一个简单的TCP server or client 模型 对Conn封装的基本思路 go内置了net包已经很好的封装了socket通讯。然而在实际使用中,由于net/Conn的Read/Wri...

点击数:1116 回复数:0

golang的sql.DB的一些注意事项及读写锁的总结

作者:sryan 更新时间:2018-09-05 14:26 分类:golang

最近在写一个用于存储protobuf配置的配置管理服务,业务逻辑不难,2天就搞定,但是后续bug不少,也踩了很多坑,在这里记录下。 首先,一直以为golang内的sql模块是单链接的,所以一开始在每个...

点击数:876 回复数:0