Go-Zero
文章平均质量分 81
文振熙
八年年技术研发经验、五年后端技术架构经验,曾带领管理过45+技术团队和技术架构团队,从零到一帮助公司组建了后端团队、 运维团队和大数据团队,并且不断演进推广前沿技术;
多年来一直坚持产出优质原创博文,全网阅读量破百万,并且被CSDN开源社区授予CSDN认证专家,
参加或主导多个开源项目研发(PhalApi、GoCore、GoRSA、KT-connect);
展开
-
【Go知识点】如何重置 context.WithTimeout 超时时间但不丢失trace value?
我们在业务编程中常常会使用 context.WithTimeout 来对超时时间进行控制,来保障处理时效是在所控制的范围内,但对于Go原生的 context.WithTimeout 使用中存在一些限制,比如:超时时间只能改短不能改长或重置。原创 2023-05-27 15:46:52 · 1140 阅读 · 0 评论 -
singleflight 防止缓存击穿、并发结果共享(golang官方包和go-zero实现对比)
缓存”详细大家都不陌生,在高并发系统设计中缓存是个必不可少的因素,它能够帮助按照一定规则保存处理好的解耦从而提高系统吞吐量和响应速度,我们常见的缓存组件包括Redis、ES等。但今天并不是来介绍缓存组件的,而是在实现过程中大家都会关注到的一个问题"缓存击穿",什么是缓存击穿呢?缓存击穿:平常在高并发系统中,会出现大量的请求同时查询一个key的情况,假如此时这个热key刚好失效了,就会导致大量的请求都打到数据库上面去,这种现象就是缓存击穿。原创 2022-09-13 09:30:00 · 824 阅读 · 0 评论 -
Go 限流控制《滑动窗口&令牌桶》:time/rate、TokenLimit、PeriodLimit
流量控制基本是《微服务》和高并发系统设计的入门课,即便是在早期各种负载均衡和网络组件(如nginx、iptable、TC)都有提供基础的QPS限制能力,如今演进到微服务框架、Sentinel、Service Mesh和Serverless都已经具备完备的配置化的限流的能力已经能够满足大多数场景了,但如果我们在一些不以服务作为颗粒的方式可能就不太适用了,比如以下几个场景:- 调用外部三方服务存在频率限制原创 2022-09-05 09:30:00 · 1577 阅读 · 0 评论 -
Go-Zero 业务开发军火库
“遇山开山,遇水架桥,千头万绪,止于一端”,这是笔者对Go-Zero的一些浅薄的认知,Go-Zero是在《晓黑板》发展和语言转型过程中工程化的最佳实践,根据遇到的通用性问题,打造的开箱即用的武器库。笔者也因为工作过程中的需要封装了一个开源库Go-Core所以非常能够理解Go-Zero创造出来的背景以及核心,我也挑选了几个关键词来表述这些研发理念。核心标签:Github:https://github.com/zeromicro/go-zero/最新文档:https://go-zero.dev/历史文档【推原创 2022-06-26 12:32:11 · 2289 阅读 · 0 评论
分享