4 回答
TA贡献1850条经验 获得超11个赞
由于应用程序将部署在 AWS 上,因此您可以使用Systems Manager Parameter Store。您可以指定键值对并在每次成功的计划更新时更新该值。这样,即使 EC2 实例(已部署应用程序)终止,这些键值对也不会受到影响。
您还可以使用 S3 存储桶并将其写入文件中。
TA贡献1780条经验 获得超5个赞
存储应用程序数据的方法有很多种,但选择归根结底取决于您希望解决方案的灵活性。与您的用例类似,Spring Batch Admin(现已停产)正在使用 MySql DB。这样就可以跟踪处理过的记录,并可以从最后一点继续处理。
它可以像将数据写入文件一样简单,该文件可以帮助您识别最后处理的记录,或者将其存储在 Redis、MySql 或 MongoDB 等数据存储中。
因此,如果您没有正在使用的任何数据库,如果您已经在使用某种类型的数据存储(例如 MySql、MongoDB 或 Redis),则将最后处理的记录的标识符存储到文件中就可以了。
最好将数据存储到此数据存储中,因为数据存储从特定于应用程序的逻辑或格式中抽象出来,并且可以根据需要在外部进行查询和/或修改。这使得解决方案更具可修改性,因为它与应用程序没有紧密绑定。
TA贡献1810条经验 获得超4个赞
您应该避免将任何最常查找的数据保存在文件系统上。如果有数百个并发读取,这会减慢您的应用程序的速度。尝试依赖持久性缓存。
所有读取的第一选择应该是在内存中。您可以异步写入内存和持久缓存。如果应用程序发生故障,您应该使用为此目的构建的其他高性能缓存。重新启动时,从持久缓存重新加载内存缓存。
持久缓存例如:Elasticsearch、Redis。这将提高您的应用程序性能并且更具可扩展性。
添加回答
举报