好好学习,天天向上
Protobuf 服务定义与 gRPC 使用
在 .proto 中除了定义消息类型(Message),还可以定义服务(Service)和RPC 方法,再通过编译器配合 gRPC 等插件生成服务端与客户端代码。本文介绍 Protobuf 的服务定义语法,以及如何用 gRPC(以 Go 为
2025-02-02
DaemonSet 详解
DaemonSet 是 Kubernetes 中的一种工作负载资源,用于在集群内每个节点(或满足条件的节点)上运行一个 Pod 副本。适合部署节点级基础设施组件,如日志收集、监控代理、网络插件、存储守护进程等。本文介绍 DaemonSet
2025-02-02
服务发现详解
服务发现(Service Discovery)是微服务架构中的核心组件,它解决了在动态环境中服务如何找到并与其他服务通信的问题。在微服务架构中,服务实例的网络位置是动态变化的,服务发现机制使得服务能够自动发现和定位其他服务。 服务发现概述为
2026-01-16
etcd 架构
简介etcd 是一个分布式一致性键值存储,由 CoreOS 发起、现由 CNCF 托管,使用 Go 编写。它基于 Raft 一致性算法管理高可用复制日志,广泛应用于 Kubernetes 集群元数据存储、服务发现与配置中心等场景。 核心特性
2025-02-02
Golang defer、panic、recover 详解
推荐阅读:runtime/panic.go、runtime/panic.go - defer 概述defer、panic、recover 是 Go 提供的延迟执行与异常恢复机制: defer:在当前函数返回前按 LIFO 顺序执行注册的函
2022-11-28
golang-defer
概述defer 是 Go 语言提供的一种延迟执行机制,用于在当前函数执行结束之前执行另一个函数。defer 语句会在函数返回前按照后进先出(LIFO)的顺序执行。 基本用法123456789func example() { defer
2022-11-28
Redis 返回 nil 的操作汇总
Redis 返回 nil 的操作汇总Redis 中 nil 表示“无结果”或“键/成员不存在”,不是错误。以下按类型罗列会返回 nil 的常见操作及触发条件。 String(字符串) 命令 返回 nil 的条件 GET key k
golang-垃圾回收器
推荐阅读:Go Garbage Collector Golang 垃圾回收器概述Go 语言的垃圾回收器(Garbage Collector, GC)是一个并发、三色标记、非分代的垃圾回收器,能够在程序运行的同时进行垃圾回收,最小化对程序性能
2025-11-11
Go Timer 管理详解
Go 语言的 timer 管理是运行时系统的重要组成部分,负责管理所有的定时器(Timer)和周期定时器(Ticker)。理解 Go timer 的内部实现机制,对于编写高性能的 Go 程序至关重要。 Timer 概述什么是 Timer?T
2026-01-28
golang 调度过程源码分析
golang 版本:go version go1.15.2 darwin/amd64 根据启动函数来分析golang MPG的生存周期,忽略cgo相关代码。 MPGMPG是golang调度的重要对象: M,表示一个内核线程,是执行用户代码
2023-03-03
堆详解
堆详解本文详细介绍堆(Heap)这种数据结构,包括堆的定义、性质、操作、应用场景以及堆排序算法。 什么是堆堆(Heap)是一种特殊的完全二叉树,它满足堆序性质(Heap Property)。 堆的定义堆是一个完全二叉树,并且满足以下性质之一
2025-12-08
API网关详解
API网关(API Gateway)是微服务架构中的统一入口,作为客户端和微服务之间的中间层,提供路由、认证、鉴权、限流、监控等功能,屏蔽内部服务细节,简化客户端调用。 API网关概述什么是API网关?API网关是微服务架构中的统一入口点,
2026-01-16
4 / 19