SF
AlwaysBeta
AlwaysBeta
注册登录
关注博客
注册登录
主页
关于
RSS
微服务架构|go-zero 的自适应熔断器
alwaysbeta
2023-09-02
阅读 10 分钟
1.8k
在一条调用链上,如果发现某个服务异常,比如响应超时。那么调用者为了避免过多请求导致资源消耗过大,最终引发系统雪崩,会直接返回错误,而不是疯狂调用这个服务。
go-zero 是如何实现计数器限流的?
alwaysbeta
2023-08-09
阅读 4 分钟
947
在微服务架构中,一个服务可能需要频繁地与其他服务交互,而过多的请求可能导致性能下降或系统崩溃。为了确保系统的稳定性和高可用性,限流算法应运而生。
为什么 Go 不支持 []T 转换为 []interface
alwaysbeta
2023-01-30
阅读 6 分钟
1.9k
在 Go 中,如果 interface{} 作为函数参数的话,是可以传任意参数的,然后通过类型断言来转换。举个例子: {代码...} 不管是传 int 还是 string,最终都能输出正确结果。那么,既然是这样的话,我就有一个疑问了,拿出我举一反三的能力。是否可以将 []T 转换为 []interface 呢?比如下面这段代码: {代码...} 很遗憾,这...
读 Go 源码,可以试试这个工具
alwaysbeta
2022-02-08
阅读 2 分钟
3.3k
原文链接: 读 Go 源码,可以试试这个工具编程发展至今,从面向过程到面向对象,再到现在的面向框架。写代码变成了一件越来越容易的事情。学习基础语法,看看框架文档,几天时间搞出一个小项目并不是一件很难的事情。但时间长了就会发现,一直这样飘在表面是不行的,技术永远得不到提升。想要技术水平有一个质的飞跃,有...
为什么要避免在 Go 中使用 ioutil.ReadAll?
alwaysbeta
2022-01-06
阅读 6 分钟
11.1k
原文链接: 为什么要避免在 Go 中使用 ioutil.ReadAll?ioutil.ReadAll 主要的作用是从一个 io.Reader 中读取所有数据,直到结尾。在 GitHub 上搜索 ioutil.ReadAll,类型选择 Code,语言选择 Go,一共得到了 637307 条结果。这说明 ioutil.ReadAll 还是挺受欢迎的,主要也是用起来确实方便。但是当遇到大文件时,这个函...
如何在 GitHub 上高效阅读源码?
alwaysbeta
2021-12-20
阅读 2 分钟
2.9k
原文链接: 如何在 GitHub 上高效阅读源码?之前听说过一个故事,一个领导为了提高团队战斗力,把团队成员集中起来,搞封闭开发,重点还是在没有网的条件下。结果就是一个月过去了,产出基本为零。我发现,如果没有网,程序员基本上是写不出代码了。现在做什么功能之前,先到网上搜搜看,然后直接复制粘贴搞定。最实用的...
开始读 Go 源码了
alwaysbeta
2021-12-03
阅读 3 分钟
2.5k
在写项目的过程中,发现一个问题。实现功能是没问题的,但不知道自己写的代码是不是符合 Go 的风格,是不是够优雅。所以我觉得相比于继续学习应用开发,不如向底层前进,打好基础,打好写 Go 代码的基础。