自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 go runtime.malg导致的内存泄漏

最近在压测我们的服务,发现流量超过服务承受的极限后,出现协程暴涨,内存暴涨,延时大大增加的现象,但是把压测流量停止之后,携程数量会恢复正常,内存却恢复不了,利用pprof采集了一下,如下图所示:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201014174407564.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubm

2020-10-14 18:00:05 2814 2

原创 go-nsq流程图

nsqd 流程架构图最近在看nsq的源码,总是觉得很乱,画了流程图后感觉清晰多了

2020-03-27 10:06:20 135

原创 go 局域变量覆盖的坑

func main() {test1()test2()}func test1() error {var err errordefer func() {if err != nil {fmt.Println(“error1”)}}()for i := 0; i < 10; i++ {t, err := get()fmt.Println(t)return err}r...

2020-03-18 17:51:05 173

原创 go设计模式之注册者模式

package mainimport (“errors”“fmt”“sync”)type Plugin interface {Before()After()End()}type MyPlugin struct {plugins []Pluginlock sync.RWMutex}var (g_plugin = &MyPlugin{})func Re...

2020-03-18 17:44:29 467

原创 go svc优雅的程序启动包

go svc 优雅的程序启动在研究nsq的源码的时候看到了svc包的使用,一种优雅的程序启动方式,首先看看它的源码type Service interface { Init(Environment) error Start() error Stop() error}func Run(service Service, sig ...os.Signal) error { env := ...

2019-12-22 19:19:51 882

原创 go语言新建结构体优雅的初始化参数

go语言新建结构体优雅的初始化参数由于go没有默认参数,所以需要一种优雅的通用的方式进行结构体的初始化,直接上代码type T struct { name string option Option}type Option struct { age int sise int number int school string}type funcOpt func(...

2019-12-22 10:23:14 391

原创 golang初始化的一些误区

最近整理了一下golang初始化的一些注意事项,希望可以帮到初学者在go中,所有变量都会初始化为空值,不同变量空值不同,所以使用也不一样变量空值1 int空值是02 string空值是””而不是null或者nil(很多人不理解,这与其他语言确实有一点区别),3 slice空值是长度为0的nil4 map空值是nil5 指针空值是nil6 error空值是nil7 b...

2019-11-01 14:12:44 338

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除