自由未来

文章
5
资源
0
加入时间
3年0月8天

Twitter Snowflake算法理解

snowflake是twitter开源的分布式ID生成算法,其核心思想是:产生一个long型的ID,使用其中41bit作为毫秒数,10bit作为机器编号,12bit作为毫秒内序列号。这个算法单机每秒内理论上最多可以生成1000*(2^12)个,也就是大约400W的ID,完全能满足业务的需求。 根据snowflake算法的思想,我们可以根据自己的业务场景,产生自己的全局唯一ID。因...

Go 内存管理之三:CGO

之前在 povilasv.me[1] 上,我们一起探讨了 Go 内存管理 和 Go 内存管理之二。在上篇博文中,我们发现使用 cgo 会占用更多的虚拟内存。现在我们来深入研究一下 cgo。本文是 Go语言中文网组织的 GCTT 翻译,发布在 Go语言中文网公众号,转载请联系我们授权。CGO 揭秘正如之前所见,cgo 会使虚拟内存膨胀。此外,对于大部分用户而言,一旦他们导入了 net 包或者其子包(比如 http),就会自动的使用 cgo。我在标准库的代码里发现很多描述 cgo 调用工作机制的