首页
学习
活动
专区
工具
TVP
发布

码农桃花源

专栏成员
125
文章
129550
阅读量
34
订阅数
深度阅读之《100 Go Mistakes and How to Avoid Them》
继《Mastering Go》和《Concurrency in Go》[1]之后,这是我精读的第 3 本 Go 主题的英文书了。全书 390+ 页,从开始读到全部读完,快 2 个月了,😓。 前不久曹大连接发了几个关于《100 mistakes》的视频,多猜他大都是看看标题,看看代码,就知道要说什么了,并且很快就跳过去,速度飞快。我开始设想的是除了读懂内容,还想练习一下英语阅读,慢就慢吧。不过,我过后也确实加快了速度,毕竟人家半小时的进度我要两周,稍微有点离谱。 简单谈一下这本书:全书“凑”了 100 个关于
梦醒人间
2023-02-28
1K0
一文搞懂一致性hash的原理和实现
在 go-zero 的分布式缓存系统分享里,Kevin 重点讲到过一致性hash的原理和分布式缓存中的实践。本文来详细讲讲一致性hash的原理和在 go-zero 中的实现。
梦醒人间
2021-11-30
3230
你真的懂 timeout 吗?
记得在上家公司时,一个 python 服务与公网交互,request 库发出去的请求没有设置 timeout ... 而且还是个定时任务,占用了超多 fd
梦醒人间
2021-10-18
9380
编写与优化 Go 代码(一)
这是 go-perfbook 翻译的第一部分,这本书虽然没有写完,但里面的内容还是很有价值的,建议每一个 gopher 都看一看~
梦醒人间
2021-09-08
5710
iptables redirect 劫持跳转引起 Go 服务故障
😅 这是一个很有趣的事情。由于流量突增临时扩充多个node部署服务,但遇到一个问题全量接口调用失败总是返回无关的返回结果。简单说在服务里本调用其他服务接口,返回的结果莫名其妙。 由于出问题节点已经被修复,所以该问题是在虚拟机里重现的。 排查问题 首先确认其他接口方是否收到该请求,日志没有里没有请求,考虑到是自研封装的golang web框架可能会有问题,所以调用tcpdump抓包,结果看不到请求报文。 那么可以确认请求包没有来这台服务器上,通常来说这类请求大多出现在dns解析错误引起的。 在本机dig dn
梦醒人间
2021-09-08
6070
Go 超时引发大量 fin-wait2
通过grafana监控面板,发现了几个高频的业务缓存节点出现了大量的fin-wait2,而且fin-wait2状态持续了不短的时间。通过连接的ip地址和抓包数据判断出对端的业务。除此之外,频繁地去创建新连接,我们对golang net/http transport的连接池已优化过,但established已建连的连接没有得到复用。
梦醒人间
2021-07-16
1.2K0
QUIC 协议在蚂蚁落地综述
本文是综述篇,介绍 QUIC 在蚂蚁的整体落地情况。之所以是综述,是因为 QUIC 协议过于复杂,如果对标已有的协议,QUIC 近似等于 HTTP + TLS +TCP,无法详细的毕其功于一役,因此我们通过综述的方式将落地的重点呈现给读者,主要介绍如下几个部分:
梦醒人间
2021-05-11
2.2K0
Go mod 七宗罪
go mod 是 rsc 主导设计的 Go 版本管理工具,借鉴了 Google 内部的高大上版本管理方式,摒弃了开源社区的版本管理成功经验,借助 MVS 算法,希望能够走出一条不一样的路,然而从发布以来给广大 Gopher 带来了各种各样的麻烦。本文简单列举一部分罪状,Google 的并不一定总是世界的。
梦醒人间
2021-03-17
6060
Go channel 的妙用
昨天在内网上看到一篇讲数据库连接的文章,列出了一些 sql 包的一些源码,我注意到其中取用、归还连接的方式非常有意思——通过临时创建的 channel 来传递连接。
梦醒人间
2021-02-26
3920
写一个 panic blame 机器人
最近接手了一个“公共”服务,负责维护它的稳定性。代码库有很多人参与“维护”,其实就是各种业务方使劲往上堆逻辑。虽然入库前我会进行 CR,但多了之后,也看不过来,还有一些人自己偷摸就把代码合到 master 上去了。总之,代码质量无法得到很好的保证。
梦醒人间
2021-02-01
3580
Go http client 连接池不复用的问题
当 http client 返回值为不为空,只读取 response header,但不读 body 内容就执行 response.Body.Close(),那么连接会被主动关闭,得不到复用。
梦醒人间
2021-01-04
3.5K0
在 Go 语言中 Patch 非导出函数
TLDR; 使用 supermonkey[1] 可以 patch 任意导出/非导出函数。
梦醒人间
2020-09-10
1K0
深度解密Go语言之sync.pool
最近在工作中碰到了 GC 的问题:项目中大量重复地创建许多对象,造成 GC 的工作量巨大,CPU 频繁掉底。准备使用 sync.Pool 来缓存对象,减轻 GC 的消耗。为了用起来更顺畅,我特地研究了一番,形成此文。本文从使用到源码解析,循序渐进,一一道来。
梦醒人间
2020-04-27
1.2K0
深度解密Go语言之scheduler
一个月前,《Go 语言高级编程》作者柴树杉老师在 CSDN 上发表了一篇《Go 语言十年而立,Go2 蓄势待发》,视角十分宏大。我们既要低头看路,有时也要抬头看天,这篇文章就属于“抬头”看天类的,推荐阅读。
梦醒人间
2019-09-04
1.1K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档