golang
已收录文章:802篇
-
Go从1.10起默认启用编译缓存,通过goenvGOCACHE可查看路径,第二次构建会复用缓存显著提速,设置GOCACHE=off可禁用,goclean-cache可清理,合理配置能提升开发效率。263 收藏
-
合理配置HTTPTransport复用机制可显著提升性能。1.增大MaxIdleConns至1000,提高MaxIdleConnsPerHost至100,设置IdleConnTimeout为45秒;2.全局复用http.Client实例,避免连接池分散;3.启用Keep-Alive并匹配服务端配置;4.监控QPS、延迟、连接命中率及资源使用,持续调优。正确配置后延迟可降30%以上。263 收藏
-
WorkerPool模式通过固定数量的goroutine处理任务,解决资源耗尽和并发失控问题,其核心优势在于控制并发、提升稳定性、实现任务分发与优雅关闭,适用于资源受限、高并发、需背压的场景,相比直接创建goroutine更高效可控。262 收藏
-
使用sync.WaitGroup和channel可处理Go中简单任务依赖,复杂场景宜构建DAG调度器或采用第三方库,结合context实现超时控制与错误传播。262 收藏
-
高并发日志优化核心是稳且可伸缩:通过带缓冲channel异步中转,专用goroutine批量写入,复用LogEntry减少GC,选用zerolog/zap等零分配库,结合bufio.Writer聚合写入,避免频繁syscall与锁竞争,控制日志级别与采样,源头减负。262 收藏
-
使用结构化日志库(如zap)、输出日志到stdout、集成FluentBit或Promtail采集、结合Loki与Grafana实现轻量级聚合,并通过OpenTelemetry统一观测性数据,是Golang云原生日志聚合的核心实践。261 收藏