RSS DEV 社区
关注
将朋友团体设定为 K-Pop 团体,但不将数据库作为产品
K-Saju Crew 是一个娱乐项目,以 playful 的方式诠释受四柱(Saju)启发的信号,并将其映射到 K-Pop 角色上。该项目允许朋友群体通过输入出生日期来创建一个虚拟的 K-Pop 团体。一个关键的设计决策是处理临时团体的创建而不依赖持久化数据库。最初,该项目采用无状态设计,但团体功能需要临时的共享状态。他们选择了一种混合模型:一个临时大厅(lobby)存储团体数据长达 30 天。一旦完成,团体将生成一个无状态的永久链接(permalink),其中包含所有输入数据。这个永久结果 URL 使得即使在大厅过期后,结果仍可复现并支持社交分享。K-Pop 选角和角色分配由一个确定性引擎决定,以确保结果的一致性。并发和滥用问题通过内存中的序列化以及对文件系统存储的基于 IP 的速率限制进行管理。无状态设计还使得使用 Satori 生成持久的社交预览图片成为可能。将临时大厅与永久结果分离,对于管理数据保留和分享至关重要。