从交易、资金到行业系统——一个业务系统该有哪些模块,各自卡在哪里。
一、交易与资金
秒杀系统 设计
真正的高并系统发还要额外考虑cdn,LB,高防和waf的性能瓶颈,分布式锁的过期时间,redis连接池和出入向流量瓶颈,用户端限频柔性策略,流式计算和消息对列进行解偶,分布式表的设计,虚拟化/容器的调度机制,内核的各项参数buffer tcp reuse,应用框架的内存管理机制,异常处理,服务降级和熔断。
访问层
-
活动前禁用按钮
-
点击后禁用按钮
-
滑动验证码防羊毛党
-
排队体验-提升用户体验
分账系统开发与设计
分账系统把一笔收款按规则拆给平台、商户和渠道。核心是分账指令、冻结解冻和可对账流水,而不是只调一次支付接口。规则变更必须版本化,历史订单按当时快照计算。
要处理退款回冲、部分分账失败和渠道限额。流水不可变,冲正走新凭证。账户体系分待结算、可提现和冻结,状态机写清楚。合规上关注二清和商户进件。
对账按日把支付单、分账明细和余额变动三方比对。模拟试算应在上线前用历史样本跑。异步回调必须幂等,重复通知不能重复打款。
佣金系统
佣金系统按规则把成交、续费或邀请转化为可结算金额。核心是规则引擎、账单流水和可对账的结算周期,而不是一张“提成比例”配置表。规则变更必须版本化,历史订单仍按当时版本计算。
常见坑是重复入账、退款回滚和跨级分润死循环。流水要不可变,冲正用新凭证。税务、冻结和解冻状态要与支付渠道对齐,避免已打款又被业务侧改单。
对账按日把订单、佣金明细和资金账户三方比对。管理后台提供模拟试算,上线新规则前用历史样本回归,比直接改生产配置安全。
佣金系统 开发与设计
佣金系统按规则把成交金额分给推广者、门店或合伙人。关键是规则可配置、结算可对账、发放可追溯。订单退款必须能回滚已计提佣金,否则财务会对不上。
设计上把计佣事件、结算批次和打款单分开。规则引擎处理阶梯、封顶和多级分润,避免把 if-else 写死在下单代码。幂等很重要,重复回调不能重复计佣。对账以业务单号对齐支付流水。税务与合同主体要在系统里有记录。测试用退款、部分退和跨月结算覆盖,而不是只测一次成功分润。
财务系统
财务系统管凭证、账簿、应收应付、资金和报表。核心原则是借贷平衡、期间封闭、每一笔都能追溯到原始单据。它通常对接业务订单、银行流水和税务申报,而不是独立记账。
实现上科目与辅助核算要可配置,期间结账后只允许红冲不能直接改历史。权限把制单、审核、出纳分开。对账任务要自动化但保留人工确认。多组织多币种时汇率与折算规则必须版本化。报表不要直接扫明细表,应有汇总层。审计和备份周期按法规执行,测试环境严禁用未脱敏的真实账套。
二、行业系统
his系统
HIS(医院信息系统)覆盖挂号、就诊、医嘱、收费、检验和住院。数据敏感、流程受监管,任何模块都要能追到操作者与时间。和 LIS、PACS、医保结算的集成往往比单体内功能更难。
设计时以患者主索引和就诊号贯穿,避免同一人多条档案。权限按科室与职责拆分,不能只靠“医生角色”一把梭。医嘱与收费要双向可核对,防止漏费或错费。高可用优先于新功能,停机窗口极短。审计日志不可被应用删改。接口走标准(HL7 / FHIR 视地区而定),定制桥接要文档化,否则升级会把集成打崩。
外卖系统开发
外卖系统把用户下单、商家接单、骑手调度和支付结算串成一条实时链路。难点不在展示菜单,而在库存扣减、配送范围、高峰限流和异常退款。订单状态必须可回放,避免重复支付或漏出餐。
架构上用户端要读多写少,可用缓存菜单;交易链路要强一致,库存用乐观锁或预扣。地图与 ETA 依赖第三方,失败时要有降级。骑手端对弱网敏感,接口应幂等。促销规则单独成引擎,避免把满减写死在下单代码。压测按午高峰来,而不是按日均 QPS。数据看板要能拆到店铺和时段,方便运营调运力。
房屋(公寓)租赁系统
房屋租赁系统通常覆盖房源发布、带看预约、合同签署、租金账单和维修工单。核心对象是房源、租客、合同与账单,状态机要能表达空置、在租、退租和冻结,避免同一房间被重复出租。
权限上房东、租客、管家看到的字段完全不同,接口必须按角色过滤。支付与发票要可对账,退租结算要处理押金和违约金。图片与视频占存储大头,应走对象存储。搜索按商圈、户型和价格区间,但库存以合同为准而不是列表缓存。合规方面注意个人信息最小化,合同模板要能按地区法规调整。
进销存系统
进销存系统管理采购入库、销售出库和库存结存,核心是账实一致。单据驱动库存变化,禁止直接改库存数字。批次、库位和盘点差异要能追溯到某张单。
并发下单时用预占或乐观锁避免超卖。成本核算可选移动平均或先进先出,选定后不要随意切换。多仓库调拨要有在途状态。报表按日结快照,避免每次从流水重算。权限把采购、仓管、财务分开。和电商、财务对接时以单据号为对账键。实施难点往往是期初库存和历史脏数据,而不是界面好不好看。
OA系统设计与开发
OA 系统把请假、报销、采购和公文审批流程数字化。核心是流程引擎、组织架构和表单,而不是一堆独立页面。流程要能撤回、转办、加签,并留下谁在何时做了什么。
组织变更频繁,部门与角色应可配置,避免把审批人写死在代码。表单字段权限按节点变化。和财务、HR 对接用单据状态机,防止两边各记各的。移动端审批要考虑附件预览和代办提醒。实施难点是把线下潜规则变成可执行流程,需要业务方拍板。权限与审计必须从第一天就有,事后补日志很难完整。
ERP企业资源管理系统
ERP 把财务、采购、库存、生产和销售串成同一套主数据。核心价值不是界面好看,而是单据一旦过账,库存、成本和应收应付能同时落账,避免部门之间各记一本账。
实施难点通常不在选型,而在流程裁剪:哪些字段必须进主数据、哪些审批可以后置、哪些报表允许次日延迟。过度定制会把升级通道堵死,过少定制又逼业务改习惯。
落地时先盘点组织边界和权限矩阵,再设计接口与对账任务。上线后要用单据抽样和库存盘点持续校验,而不是只看系统是否“能点下去”。
业务系统设计速查:订单、分账、进销存与秒杀
https://lautung.com/archives/business-system-design
评论