golang
文章平均质量分 71
大道至简
玩具熊仔
这个作者很懒,什么都没留下…
展开
-
defer使用
1. 只对只对当前协程有效。原创 2021-09-18 09:23:26 · 97 阅读 · 0 评论 -
golang 依赖注入
我们在微服务框架kratos v2的默认项目模板中kratos-layout使用了google/wire进行依赖注入,也建议开发者在维护项目时使用该工具。wire 乍看起来比较违反直觉,导致很多同学不理解为什么要用或不清楚如何用(也包括曾经的我),本文来帮助大家理解 wire 的使用。What#wire是由 google 开源的一个供 Go 语言使用的依赖注入代码生成工具。它能够根据你的代码,生成相应的依赖注入 go 代码。而与其它依靠反射实现的依赖注入工具不同的是,wire 能在编译期(准转载 2021-09-18 10:32:11 · 951 阅读 · 0 评论 -
Golang:分布式高并发场景, 服务限流实现方案
服务限流场景在高并发大流量系统中,由于并发大造成服务资源不足,负载过高,进而引发致一系列问题,这里的流量一般都是突发性的,由于系统准备不足,很难短期扩容来应对 ,进行限流是最常用的手段,所以说限流也是服务稳定性治理重要的手段。限流可能发生在多个层面:1.用户网络层:突发的流量场景如热点事件流量(秒杀事件、热门抢购,微博热搜),恶意刷流,竞对爬虫等。2.内部应用层:上游服务的异常调用,脚本异常请求,失败重试策略造成流量突发。实现限流方案常用的限流方法主要有三种:计数器算法,漏斗桶算转载 2022-02-28 09:44:24 · 2409 阅读 · 0 评论