标签: go
与该标签相关的所有文章 "go".
-
Go 服务:容量评估与扩容决策
Go 服务本身几乎不是瓶颈(纯 CPU 可达 10 万+ RPS),真正的瓶颈在数据库查询、RPC 调用等 I/O。决策核心是:用 CPU 利用率 × P99 延迟的组合判断该优化代码还是加机器,用连接池指标定位隐藏瓶颈。
-
Go 网络(一):goroutine-per-connection 模型与生产实践
Go 的网络编程模型是 goroutine-per-connection:每个连接一个 goroutine,写同步阻塞风格的代码,runtime 的 netpoller 在底层用 epoll/kqueue 实现异步 I/O。关键在于超时管理(Deadline 是绝对时间不是超时)和连接池配置(MaxIdleConnsPerHost 默认 2 是生产环境的坑)。
-
Go Redis:go-redis/v9 的连接池、Pipeline 与 Hook
github.com/redis/go-redis/v9 是 Redis 官方维护的 Go 客户端(截止 2026-04 最新 v9.18.0),提供类型安全的命令接口、channel-based 连接池、Pipeline/Transaction 批处理、Pub/Sub、Lua 脚本、Hook 中间件链、以及对 Standalone/Cluster/Sentinel/Ring 四种部署模式的统一抽象。掌握它的连接池调优、Pipeline 正确使用、redis.Nil 错误处理和 Context 超时行为是生产可靠性的关键。
-
Go PostgreSQL:pgx 的架构设计与生产实践
github.com/jackc/pgx/v5 是纯 Go 实现的 PostgreSQL 驱动和工具集。它直接实现 PostgreSQL 线协议(不依赖 libpq),提供原生 API 和 database/sql 兼容层双模式,内置连接池(pgxpool)、自动 prepared statement 缓存、COPY 批量导入、LISTEN/NOTIFY、70+ 类型映射。相比 lib/pq,pgx 更快、功能更全、维护更活跃,是 2026 年 Go + PostgreSQL 的唯一正解。