编程语言:Go
为Go应用无侵入地添加任意代码
这篇文章旨在提供技术深度和实践指南,帮助开发者理解并应用这项创新技术来提高Golang应用的监控与服务治理能力。在接下来的部分,我们将通过一些实际案例,进一步展示如何在不同场景中应用这项技术,提供更多实践启示。
解析Go切片:为何按值传递时会发生改变?
这篇文章简单明了地揭示切片按值传递时发生变化的原因。我们通过一些简单的示例,帮助大家理解这一现象是如何发生的,以及如何在实际开发中避免相关的坑。
万字长文讲透Go程序性能优化
性能分析和优化是所有软件开发人员必备的技能,也是后台大佬们口中津津乐道的话题。
Golang 作为一门“现代化”的语言,原生就包含了强大的性能分析工具 pprof 和 trace。pprof 工具常用于分析资源的使用情况,可以采集程序运行时的多种不同类型的数据(例如 CPU 占用、内存消耗和协程数量等),并对数据进行分析聚合生成的报告。trace 工具则关注程序运行时的事件(例如协程状态切换,GC 的开始和结束、系统调用等等),常用于分析延迟、阻塞和调度等问题。掌握了这两个工具就足以满足大部分 Golang 程序的性能分析需求。
本文将从使用方法、原理和实践三个方面分别介绍 pprof 和 trace 工具。读完本文后,相信你也可以更全面地掌握 pprof 和 trace。
一文带你看懂Golang最新特性
经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。
那些年,我们在Go中间件上踩过的坑
作者总结了过去在Go中间件上踩过的坑,这些坑也促进了Go中间件的完善,希望大家学习本文后,不犯同样的错误。
One Billion Row Challenge in Golang - From 95s to 1.96s
In the One Billion Row Challenge, the task is to write a program capable of reading an 1-billion-line file (with around 13GB), process and aggregate temperature readings from various weather stations,…
面向OpenTelemetry的Golang应用无侵入插桩技术
文章主要讲述了阿里云ARMS团队与程序语言与编译器团队合作研发的面向OpenTelemetry的Golang应用无侵入插桩技术解决方案,旨在解决Golang应用监控的挑战。
Golang 单元测试框架 gocheck 使用介绍
gocheck是一个比较健全且简单的Golang单元测试框架,它在Golang官方的testing package基础上提供了丰富的功能和断言方法。使用gocheck可以验证程序的正确性,保持机器状态不变,并且测试独立性强。其中的Assert断言方法可以根据预期值检验接口返回值是否匹配,如果不匹配则记录错误。gocheck还提供了丰富的检查器方法,如全等校验等。
知乎社区核心业务 Golang 化实践
知乎社区选择使用Golang重构核心业务,包括会员和评论功能,以解决Python在运行效率和维护成本方面的问题。改造后,他们节约了80%的服务器资源,多人开发和项目维护成本大幅下降。Golang作为新项目的推荐语言,具备并发优势、完善的生态系统和部署开发效率。同时,知乎还完善了内部的Golang基础组件。
面向Java程序员的Go工程开发入门流程
对于没有Go背景的Java程序员来说,使用Go开发一个可用的程序的速度是肉眼可见的缓慢。但攻克的难点不在于Go语言本身,而是搭建整个工程链路的过程,即所谓的“配环境”。本文将主要讲述如何配出一个适合Go开发的环境。
每个程序员都应该掌握的Golang性能优化秘技
本文是关于Golang实战经验的分享,作者邀请读者留言评论。评论中优质的一条将有机会获得腾讯云开发者定制眼罩。文章提供了一些二维码,可以扫码加入腾讯云开发者社群。总之,本文主要内容是分享Golang实战经验和邀请读者参与讨论。
kafka-go消费者代码分析(一)
该文章介绍了在Go语言中使用kafka-go库创建消费者并进行数据消费的过程。重点讨论了重平衡的机制和实现。通过分析kafka-go库中的代码,展示了心跳机制的实现方式,并解释了当协调者通知消费者进行重平衡时,消费者如何暂停消费并重新加入消费组。重平衡期间,消费者会停止消费并重新分配分区。最后,消费者会重新创建协程进行数据的获取。这篇文章对于想要在Go语言中使用kafka-go库进行数据消费的开发者来说是非常有用的参考资料。
Golang sql连接池使用总结
这篇文章主要分析了Golang数据库连接池的原理与使用。连接池的作用是复用已建立的连接,降低连接的建立开销。文章提到了连接池的配置最优化问题,除了一般性原则外,更重要的是要根据连接池状态进行调整。通过使用gorm的prometheus插件,可以方便地读取连接池的状态值,并将其转换为指标。这样可以更好地监控连接池的状态,包括最大连接数的调整,而不必依赖于固定倍数的CPU核心数。
Go连接池复用踩坑
本文详述Go连接池复用遇到的问题和解决方案
从 Go 谈谈内存分配,让代码更高效
本文将从Go 的内存分配出发,谈谈内存相关的知识,加深对内存分配的理解
Golang DB连接池ErrBadConn的应用
ErrBadConn是Golang DB连接池中一个非常核心的错误,跟连接池机制息息相关,我们应该重点掌握