拒绝滥用golang defer机制
阅读(4208) 评论 (0) 2018-05-21 16:14
defer机制
go语言中的defer提供了在函数返回前执行操作的机制,在需要资源回收的场景非常方便易用(比如文件关闭,socket链接资源十分,数据库回话关闭回收等),在定义资源的地方就可以设置好...
golang slice使用不慎导致的问题
阅读(21413) 评论 (0) 2018-05-20 16:20
背景
go语言中切片slice是方便且好用的强大数据结构,但是使用的时候需要注意,不然容易出问题,最近因为遇到了一个slice的使用问题,比较典型。
有一个功能需求,用户需要获取1-20的不重复随机...
golang使用mongodb驱动mgo异常崩溃问题...
阅读(4706) 评论 (0) 2018-05-15 21:49
背景
在我的后端游戏架构中,有一个golang开发的数据服务器,用来存储落地玩家的历史数据,并提供给客户端http接口查询。由于之前的项目已经在使用mongodb,出于方便易用支持类json格式的b...
一种golang二进制协议处理接口映射方式...
阅读(2566) 评论 (0) 2018-05-15 21:36
在写服务器程序时,特别是业务向的服务(比如游戏服务器),经常会遇到处理许多客户端协议的情况,如果是http服务,那么定义好处理接口,剩下的交给web服务器就可以了。但是二进制协议就没有这么方便了。...
基于consul构建golang系统分布式服务发现机制...
阅读(3868) 评论 (0) 2018-05-15 21:34
在分布式架构中,服务治理是一个重要的问题。在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极其麻烦且容易出错。
之前...
golang程序配置文件热更新
阅读(3541) 评论 (0) 2018-05-15 21:33
配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等级,业务逻辑参数变化,甚至某个功能模块的开关...