首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Go
订阅
devhg
更多收藏集
微信扫码分享
微信
新浪微博
QQ
41篇文章 · 0订阅
保障后端稳定性:探索一个高效且可维护的 Go 应用流控方案
Regula 是一个专为 Golang 应用设计的流控组件,通过 workqueue、workpool 和 ratelimiter 模式,提供简洁、高效的并发管理和数据流解决方案。
深入Go语言底层:一文学会Plan9汇编
传统的汇编语言是和硬件架构是一一对应的,一种硬件架构对应一种汇编语言。而对Go 语言汇编而言,其输出的结果是一种抽象可移植的汇编代码,这种汇编并不对应某种真实的硬件架构。Go 的汇编器会使用这种伪汇编
深度解析 Raft 分布式一致性协议
笔者期望通过一篇权威靠谱、清晰易懂的系统性文章,帮助读者深入理解 Raft 算法,并能付诸于工程实践中,同时解读不易理解或容易误解的关键点。 本文是 Raft 实战系列理论内容的整合篇,我们结合 Raft 论文讲解 Raft 算法思路,并遵循 Raft 的模块化思想对难理解及容…
time.After和select搭配使用时存在的”坑“
昨夜西风凋碧树 在Golang中select的四大用法/#超时控制中,提到select搭配time.After实现超时控制。其实这样写是有问题的。 由于这种写法每次都会初始化新的time.After,
Golang 如何优雅的处理error
在进行后台开发的时候,错误处理是每个程序员都会遇到的问题,golang官方提供的错误处理包error似乎并不那么智能和好用,那么如何优雅地处理和记录代码中的错误信息呢?本文将会从以下几个角度来探索er
千万级 高并发 “秒杀” 架构设计(含源码)
每到节假日期间, 一二线城市返乡、外出游玩的人们几乎都面临着一个问题:抢火车票! 虽然现在大多数情况下都能订到票, 但是放票瞬间即无票的场景,相信大家都深有体会。尤其是春节期间,大家不仅使用 12306,还会考虑 “智行” 和其他的抢票软件, 全国上下几亿人在这段时间都在抢票。…
Raft 选举实现(一)
大概从19年5月份的时候才接触Raft 算法,当时是在网上找相关分布式相关的东西,然后就和 Raft 算法'相识'了。当时自己从 github 上下载 mit6.824的代码 跟着课程详解做到了 lab2b ,然后就放弃了,然后紧接着开始浑浑噩噩的生活,最近觉得自己不能就这么堕…
Golang 在 runtime 中的一些骚东西
最近在研究性能优化的时候,看到了 golang runtime 包下的一个文档HACKING.md觉得颇有意思,读完之后觉得对于 runtime 的理解更上一层,于是想着翻译一下。 本章内容会有一定深度,需要有一定基础的读者,限于篇幅在这里不可能完全展开各个细节。 这一篇文档面…
深度解密Go语言之sync.pool
最近在工作中碰到了 GC 的问题:项目中大量重复地创建许多对象,造成 GC 的工作量巨大,CPU 频繁掉底。准备使用 sync.Pool 来缓存对象,减轻 GC 的消耗。为了用起来更顺畅,我特地研究了一番,形成此文。本文从使用到源码解析,循序渐进,一一道来。 sync.Pool…
Go语言中时间轮的实现
最近在工作中有一个需求,简单来说就是在短时间内会创建上百万个定时任务,创建的时候会将对应的金额相加,防止超售,需要过半个小时再去核对数据,如果数据对不上就需要将加上的金额再减回去。 这个需求如果用Go内置的Timer来做的话性能比较低下,因为Timer是使用最小堆来实现的,创建…