2023年过得真快。年初立的flag完成了一半多一点,另外一半被一个意想不到的东西打乱了节奏——AI大模型的爆发。回顾一下今年做了什么、学了什么、明年打算怎么走。
支付系统:第一次做金融级系统
今年最大的项目是支付系统。从年初开始设计到十月份收尾,前后大半年,把支付核心链路、渠道对接、对账、退款、风控都做了一遍。
最大的收获不是技术细节,而是"金融级系统设计"的思维方式。做支付和做普通业务系统最大的区别就是:钱不能错。每一笔交易都要有据可查,每一个状态变更都要有日志,任何异常都不能静默丢弃。
几个印象深刻的点:
- 幂等性设计贯穿始终,几乎每个接口都要考虑重复调用的情况
- 对账的重要性超出预期,渠道返回的数据和自己的数据永远对不上,差异处理的逻辑比预想复杂得多
- 分布式事务在支付场景下不是可选项,TCC和SAGA两种模式都实际跑过
- 风控不是事后补的,而是要在一开始就设计进去
支付系统让我对"可靠性"有了更深的理解。以前觉得加个重试就行了,现在知道重试只是冰山一角。
商城系统:持续推进中
商城系统和支付是配套的。今年主要做了:
- 商品服务(SPU/SKU模型、分类管理)
- 订单服务(状态机、超时取消)
- 库存管理(Redis分布式锁、乐观锁防超卖)
- 搜索服务(Elasticsearch集成)
商城系统让我对微服务有了更实际的体会。不是拆成微服务就好了,服务间的数据一致性、链路追踪、服务降级这些东西才是真正的难点。明年继续完善,计划把购物车、优惠券、物流追踪补上。
AI:今年最大的变量
年初ChatGPT已经火了,但三月份GPT-4出来才真正让我觉得"这次不一样"。之前几年AI一直是"能用但不好用",GPT-4之后变成了"真的能干活"。
今年在AI方面做的事情:
- 上半年主要在用ChatGPT辅助日常开发,提升很明显
- 下半年开始动手搞本地部署,用llama.cpp跑开源模型
- 学了RAG(检索增强生成),把文档问答场景跑通了
- 用LangChain搭了几个小应用
说实话,到年底我对AI的态度从"有趣的工具"变成了"必须认真对待的技术方向"。明年会在这个方向投入更多时间。
语音识别:从研究到实践
Whisper出来之后一直在关注,今年终于动手做了。从本地跑模型到包装成API服务,完整走了一遍。开源模型的效果已经足够好了,中文识别准确率让人惊喜。
做语音转写服务的过程中学到了:
- 音频处理的基础知识(采样率、编码格式、ffmpeg用法)
- GPU推理服务的部署模式(模型预加载、并发控制)
- 异步任务队列的工程实践(Celery + Redis)
Rust:慢慢来
Rust今年没有大的项目实践,但一直在保持学习。Tauri 2.0 Beta出来后试了一下,移动端支持挺期待的。明年打算用Tauri做个实际项目。
Go仍然是主力工作语言,今年用Asynq做了分布式任务队列,比之前自己用goroutine硬撸优雅多了。
2024计划
- 商城系统继续完善,补齐剩余模块
- AI方向重点投入,深入学习LLM微调、Agent开发
- Rust找一个实际项目练手,不能只停留在学语法阶段
- 试着写点开源项目,不管大小先把习惯养成
- 技术博客保持更新频率
2023年过得很充实。技术行业变化太快,唯一不变的就是要持续学习。