gpt4 book ai didi

python - 如何/在何处存储云应用程序的临时文件和日志?

转载 作者:IT王子 更新时间:2023-10-29 00:28:34 24 4
gpt4 key购买 nike

我正在开发一个架构相当复杂的 Python/MySQL 云应用程序。操作系统(当前)会生成临时文件(纯文本、YAML)和日志文件,我原本打算将它们存储在文件系统上。

但是,我们 future 的云运营商只为应用程序提供临时的、非持久的文件系统。这意味着存储临时文件和日志文件的初始方法将不起作用。

必须有一个标准的方法来解决这个我不知道的问题。我不想使用像 S3 这样的对象存储,因为它会扩展当前堆栈并增加复杂性。但是我可以在具有相同提供商的不同服务器上安装额外的专用应用程序(如果有任何为此目的而制作的应用程序)。唯一的限制是它必须在 PHP、Python、MySQL 中。

一般问题:当没有持久性文件系统可用时,存储文件的标准方法是什么?

对于我的具体情况:有没有使用 Python 和/或 MySQL 的简单快速实现的解决方案?这是 Redis 的用例吗?

最佳答案

既然你问了两个问题,我也一一回答:

The generic question: What is the standard approach to storing files when no persistent filesystem is available?

如果文件的内容不适合常规数据库存储,但您确实希望持久存储文件本身(如图像、二进制文件等),Amazon S3 和类似服务通常是您的选择。还有免费的替代品,例如 Riak , Aerospike或更重的Cassandra .

虽然所有这些服务都是免费的(或提供免费版本),但它们需要设置和持续维护。此外,您不太可能达到与 S3 等托管云服务相同级别的可用性和可扩展性。如果您考虑到这一点,那么不使用像 S3 这样的云服务所节省的费用至少是值得怀疑的。但一如既往,YMMV。

And for my specific case: Is there any solution using Python and/or MySQL which is simple and quick to implement? Is this a usecase for Redis?

你的问题有点矛盾。您提到您的应用程序会生成临时 文件,但您不想丢失它们?

如果你的文件是临时的,像Redis这样的解决方案或 memcached将非常适合这项工作,只要您了解两者都是缓存并且数据将在重新启动时丢失,或者(如果启用 Redis 快照)至少不保证写入是保存到磁盘。

如果你不想扩展你的堆栈,并且 Redis 没有给你你正在寻找的保证级别,MySQL 支持 blobs 的存储。 ,可用于在 MySQL 中存储文件(二进制数据)。这通常不能很好地扩展,但同样,决定这是否适合您在很大程度上取决于您的情况。 (另请参阅 this 关于在 MySQL 中存储文件的优缺点的优秀答案。)

关于python - 如何/在何处存储云应用程序的临时文件和日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29656422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com