golang
已收录文章:14091篇
-
Golang构建微服务架构能充分发挥其高并发、高性能、部署简便等优势。通过gRPC+Protobuf实现高效服务通信,结合Kafka等消息队列支持异步解耦与最终一致性,利用Prometheus、OpenTelemetry等工具实现日志、指标、追踪三位一体的可观测性,并借助Kubernetes实现服务发现、负载均衡、健康检查与高可用部署,从而构建出可伸缩、易维护、韧性强大的分布式系统。184 收藏
-
在现代云原生架构中,Golang因其高性能、简洁语法和出色的并发支持,成为构建微服务的热门语言。结合容器化技术(如Docker和Kubernetes),可以实现高效、可扩展的服务部署。以下是Golang微服务部署与容器化的实用实践路径。1.编写可容器化的Golang服务一个适合容器化部署的Golang服务应具备以下特征:轻量启动:避免在main函数中执行耗时初始化,使用健康检查接口(如/health)供容器平台探活。配置外置化:通过环境变量注入配置(数据库地址、端口、日志级别等184 收藏
-
1. 定位 Once is an object that will perform exactly one action. sync.Once 是 Go 标准库提供的使函数只执行一次的实现,常应用于单例模式,例如初始化配置、保持数据库连接等。它可以在代码的任意位置183 收藏
-
堆排序 堆排序是一种树形选择排序算法。 简单选择排序算法每次选择一个关键字最小的记录需要 O(n) 的时间,而堆排序选择一个关键字最小的记录需要 O(nlogn)的时间。 堆可以看作一棵完全二叉183 收藏
-
在一些项目中, 我们会使用json 来将字符串转为结构体,但是很多时候,这种结构体只会用一次,基本上只会用于反序列化, 对于这种只用到一次的结构体, 我们可以使用匿名结构体. 在gin 接收参数的183 收藏
-
开篇 在我们此前的文章 Golang Mutex 原理解析 中曾提到过,Mutex 的底层结构包含了两个字段,state 和 sema: type Mutex struct { state int32 sema uint32 } state 代表互斥锁的状态,比如是否被锁定;se183 收藏