整体流程
对象
● 用户:获取核酸检测码。此时服务器应该插入一条用户数据,核酸检测状态为未检测。
● 核酸采集人员:扫描用户核算检测码。此时服务器应该更新该状态为检测中,表示即将送检。
● 核酸检测和录入结果的人员:将采集到的拭子进行检测,检测结果录入到系统。更新检测结果。
● 查询核酸信息的人员:用户自身,核酸机构人员,相关管理人员等。查询一个或多个用户数据。
● 核酸系统服务器:提供核酸检测码获取,核酸采集,信息查询和存储等。
写数据阶段
读数据阶段
分析与解决方式
这里从整体架构上来说(不涉及应用服务外部),核心解决方式就是要保护服务:
● 服务保护:,请求入,进行批量处理,以及,等。
● 高效写数据:例如可以用ClickHouse集群批量存储或更新数据。
● 查询缓存与数据的弱一致性:集群做缓存查询,数据容忍度在两小时内,某城市人口2119.2万,每5分钟进行一次100万数据的缓存更新,或者更细的数据或时间粒度,或者更长容忍度时间,具体压测情况具体分析。