Hasty Briefsbeta

双语

Fintech Engineering Handbook

16 days ago
  • #software-engineering
  • #fintech
  • #financial-systems
  • 《金融科技工程手册》简介:一本关于构建资金处理软件模式的指南。
  • 面向金融科技新手、从业者和外部人士,阐释资金系统的可信赖性。
  • 核心原则:不编造数据、不丢失数据、不信任。
  • 资金表示:避免浮点数;使用任意精度、最小单位或有理数。
  • 舍入策略:明确、由业务决定、最小化;跟踪余数以避免丢失或创造资金。
  • 货币处理:金额与货币配对;验证代码;区别对待加密货币;封装在资金类型中。
  • 外汇汇率:有方向性、时间敏感;区分交易汇率与参考汇率;跟踪来源。
  • 分类账采用复式记账法:条目不可变、余额衍生、账户分类(资产、负债、权益)。
  • 时间戳:价值时间、记账时间、结算时间;记录所有时间以保留信息。
  • 审计追踪:捕获何事、何时、何人、何故;事件溯源作为系统性方法;需具备不变性。
  • 冲销/更正:登记补偿条目;链接原始条目;考虑报告周期。
  • 通过构造、运行时检查和事后验证来强制执行不变量。
  • 资金预留防止双重支付;区分总余额与可用余额;需要强一致性。
  • 透支:有意的(信贷产品)与无意的;明确处理,不要简单归零。
  • 幂等性:使用明确键;处理错误;验证载荷;确保原子性;测试重试。
  • 完全可恢复性:持久化流程状态;恢复停滞流程;每个步骤幂等;向前滚动或补偿。
  • 外部API:不信任架构;预期失败;存储请求/响应;考虑提供商冗余。
  • Webhooks:不假设顺序、有效性或单次交付;快速确认;验证调用者;持久化原始载荷。
  • 可靠通知:使用发件箱、变更数据捕获、自我监听或事件溯源;确保至少一次交付。
  • 对账:比较系统;处理缺失/差异数据;启发式匹配;正确修正差异。
  • 控制:职责分离、四眼原则;记录审批;强制执行最小权限;审计访问变更。
  • 变更追踪:使用源代码控制;强制执行审查和流水线;跟踪部署。
  • 测试:基于属性测试、不变量检查、生成性幂等测试、崩溃注入测试、往返测试、黄金测试、向后兼容性测试、生产测试。
  • 附录A:金融科技术语表(会计、资金/外汇、交易、支付、交易、托管、合规)。
  • 附录B:示例流程:加密货币提现、卡存款、带返现的应用内兑换。
  • 附录C:作者背景、写作过程以及作为活文档的意图。