后端工程
后端并不只是连接数据库的 HTTP Handler。它由一组边界构成:哪些输入可信、约束在哪里生效、状态如何改变,以及失败后能够留下什么证据。
从服务边界开始
一个可维护的服务应当让以下问题易于回答:
- 服务拥有哪些状态?
- 哪些操作可以修改这些状态?
- 哪些失败可以安全重试?
- 运维人员如何证明当时发生了什么?
第一篇文章把这些问题应用于一个小型 Go 服务,并避免把简单服务变成复杂框架。
已有文章
- 设计一个小型 Go 服务:明确传输层、业务规则、持久化和运行时配置的边界,同时保持代码易于阅读。
计划补充
- PostgreSQL Schema 与 Migration 设计
- Session、Cookie 与授权边界
- 幂等性与安全重试
- 不隐藏一致性问题的缓存设计
- 日志、指标、Trace 与健康检查
- Docker 与反向代理部署