使用 OpenTelemetry 实现 Golang 服务的可观测系统
这篇文章中我们会讨论可观测性概念,并了解了有关 OpenTelemetry 的一些细节,然后会在 Golang 服务中对接 OpenTelemetry 实现分布式系统可观测性。Test Project我们将使用 Go 1.22 开发我们的测试服务。我们将构建一个 API,返回服务的名称及其版本。我们
Go Official Blog
0
什么情况下使用 ErrGroup VS waitGroup?
Goroutine 是编写 Go 语言并发程序的强大工具。然而管理协程,特别是在处理协程的错误时,可能会变得繁琐。这时,x/sync 包中的 errgroup 就派上用场了。它提供了一种简化的方法来处理并发任务及其错误。Example for ErrGroup下面是一个使用 errorGroup 的
Go Official Blog
0
2024年 Go 开发者调查:5 个很有意思的现象
Go 团队每年进行一次调查,以了解更多关于在其编程中使用 Go 语言的开发者。今年的调查中有一些很有意思的现象,下面来看一下调查的内容。1. Go Developers 大多数使用 Linux在关于程序员中最受欢迎的操作系统的持续辩论中,有一个最新的调查结果。Go 语言的程序员并不最常使用 MacO
Go Official Blog
0
Golang 高效处理集合 (Collection) 的库
处理集合是构建任何应用程序的重要部分。通常,需要以下几类操作:转换:将某个函数应用于集合中的每个元素,以创建一个新类型的新集合;过滤:选择满足特定条件的集合中的元素;聚合:从集合中计算出单个结果,通常用于汇总;排序/排序:根据某些标准重新排列集合的元素;访问:根据其属性或位置检索元素的操作;实用程序
Go Official Blog
1
Golang 实现枚举的多种方式及最佳实践
枚举提供了一种表示一组命名常量的方式。虽然 Go 语言没有内置的枚举类型,但开发者可以通过常量/自定义类型来模拟类似枚举的行为。枚举在编程语言中扮演着至关重要的角色,提供了一种简洁而富有表现力的方式来定义一组命名常量。虽然像Java或C#这样的语言提供了对枚举的内置支持,但Go采用了不同的方法。在
Go Official Blog
0
深入剖析 Golang 的内存分配机制
Golang 语言的内存分配机制是理解和优化 Golang 程序性能的关键。在 Golang 中,由于 Go 的垃圾回收机制,内存管理是自动的。理解内存的分配和回收方式可以帮助我们编写更高性能的代码。本文将深入探讨 Golang 的内存分配机制。内存分配的基本原则在计算机科学中,内存分配是指为程序中
Go Official Blog
0
Debezium Server Databend support Auto Schema Evolution
背景 Debezium Server Databend 是一个基于 Debezium Engine 自研的轻量级 CDC 项目,用于实时捕获数据库更改并将其作为事件流传递最终将数据写入目标数据库 Databend。它提供了一种简单的方式来监视和捕获关系型数...
Go Official Blog
0
为 Databend Rust Driver 实现 Python Binding
How? PyO3 + Maturin Rust 和 Python 都拥有丰富的包和库。在 Python 中,很多包的底层是使用 C/C++ 编写的,而 Rust 天生与 C 兼容。因此,我们可以使用 Rust 为 Python 编写软件包,实现 Python 调用 Rust 的功能...
Go Official Blog
0
Go 语言设计者 Robert Griesemer 深入介绍泛型
Go 官方博客近日发表了一篇介绍新特性“泛型”的文章,作者是两位重量级人物 —— Robert Griesemer 和 Ian Lance Taylor,内容基于他们在 2021 年 GopherCon 大会上的演讲。不久前正式发布的 Go 1.18 添加了对泛型的支...
Go Official Blog
0
Announcing Go 1.18 Beta 2
近日官方推出了 Go 1.18 Beta 2 版本,该版本增加了对 generic,fusing 和新的 Go workspace 的支持。以下是 blog 原文内容。我们两个月前发布了 1.18 Beta 1,现在是有史以来下载次数最多的 Go Beta 版本,其两倍于...
Go Official Blog
0
源码级解读为何 kubernetes 弃用 Docker 容器运行时
本文转载自【源码解读】从代码实现层面思考 Kubernetes 为什么会弃用对 Docker 的支持?[1]作者: Colstuwjx[2]2020年底,在 Kubernetes v1.20 正式发布的同时,k8s 官方还搞了一个大动作:他们宣布将会逐步弃用对 D...
Go Official Blog
0
深入理解 Kubernetes Deletion
kubectl delete 这个命令我们几乎每天都在使用,看起来很容易理解,不就是删除 Kubernetes 的某种资源吗?但是要完全理解 Delete 操作还是很有挑战的,理解删除操作背后真正的原理,能够帮助你从容应对一些奇葩场景...
Go Official Blog
0