(1)对于并发的场景,不建议使用数据库事务+锁(for update) 大批量的时候,会导致数据库连接池不够使用。
使用分布式锁+流水的方式(一查,二判断,3三插入-尽量数据库的唯一约束报错)
(2)如何控制一条数据不能被不同业务操作,通过流水的业务状态,因为使用统一一个流水框架,控制当前业务在执行的时候,其它的业务来操作被当前流水互斥,等待外围重试。
(3)一般数据库模型, 主表,主表-datareleation,主表-modulereeation,
(4)任务框架,落任务,执行任务(多个任务执行器,循环遍历 用于业务扩展),任务配置,任务捞取(三层分发),任务执行之后 更新任务的次数,下次执行的时间。
(5)规则系统,规则要可扩展,执行串行和并行,动态调整规则的执行顺序,短路执行很关键
(6)扩展点的设计方式,让系统针对不同业务可扩展的进行
(7)spring 的事物传播特性一定要用好,防止一个系统内 不同事物之间有影响