经历
职业背景
从系统研究到大规模生产微服务构建的后端工程之旅。
工作经历
2024.03 — 2026.06
GoCode Pte. Ltd.
Golang 全栈开发工程师(偏后端)
新加坡 · 平台技术公司,为东南亚面向消费者的数字业务提供多租户 B2B SaaS 平台(账户、钱包、会员忠诚度、合作伙伴网络)
- •编写了身份服务和配置服务的初版,以及 API 网关的大部分中间件,随后将其拆分为独立的 gRPC 微服务;在平台约 20 个服务中,是其中 6 个的最大个人贡献者(约 10 万终端用户)
- •在 5 个服务中编写了 10 个 Kafka 消费者,按至少一次(at-least-once)投递设计:手动 ack、重试与死信 Topic,以及由唯一索引保证、并一路传递到钱包交易的确定性幂等键
- •重新设计了沿多级合作伙伴网络向下传播返利规则和交易限额的 Kafka 级联流程:按层级排序、keyset 分页并限流的批处理解决了内存溢出(OOM)故障;通过预先演练的数据迁移,将限额从 int64 迁移为 decimal
- •搭建了定时任务服务的初版,并共同主导其从 cron 迁移到 Temporal:重试策略、按租户拆分的子工作流、入账失败时的补偿
- •将逐用户的聚合查询替换为批量 UNION ALL 语句,在只读副本上路由到 128 分片表;在 5 个服务中设计了约 30 张 MySQL 表
- •设计了全平台审计追踪(12 个服务),构建了带机密信息脱敏的共享 ECS 日志组件和 OpenTelemetry 辅助工具(已在 20 个仓库中使用),并用 pprof 修复了一次生产环境内存泄漏
- •端到端构建了客户分群、呼叫中心 CRM 集成和带签名的合作伙伴 OpenAPI;借助 AI 编码智能体,用 Go + Next.js 重写了内部 OpenProject ↔ Slack 工具
Go go-zero gRPC Gin MySQL Redis Kafka Temporal OpenTelemetry Prometheus Docker GitLab CI
2023.11 — 2023.12
TikTok Pte. Ltd.
后端开发实习生 — 存储基础设施
新加坡 · 全球短视频平台
- •为一个跨区域对象存储复制服务搭建了可在笔记本电脑上运行的测试环境:借助运行时函数钩子(gohook)和适配器类型,将其内部依赖(消息队列、MySQL、文档数据库)替换为开源等价组件,且不改动业务逻辑
- •将这些替换封装为可复用的内部 Go 库,每个组件只需一行 API;交付了 Docker Compose 环境(RocketMQ、MySQL、MongoDB、S3Mock)、多阶段 Dockerfile、用于端到端验证复制 API 的 Kitex 客户端,以及用户手册
Go Kitex RocketMQ MySQL MongoDB Docker