我创建了一个PHP站点,在后台调用一群python工作人员(使用laravel中的队列工作者系统,在该系统中,工作人员通过CLI调用python工具)。python工具都有自己的conda环境设置,它们需要正确运行。
我可以在一台服务器上很好地运行这个设置,因为所有的东西都安装在机器上,但是我想以健壮的方式将它部署到云(AWS)中。
从我所读到的情况来看,ElasticBean秸秆非常好,很容易分发PHP代码,支持部署新版本等等,但我无法理解如何包含我的python代码。
我也许应该调查一下:
在部署这种设置时,您的智慧是什么?
发布于 2022-03-02 16:04:38
弹性Bean秸秆通过ebextensions支持各种扩展/配置,因此您很可能能够压缩python代码并通过它进行配置。
至于将它们分开,您将进入分布式系统区域。一种常见的模式是将消息写入工作队列(例如PHP ),并让工作人员从该队列订阅/消费并运行任务。结果可以写入数据库检索。因此,您可以让,将Python命令转换为Lambdas (取决于它们需要做什么),并将结果写入DynamoDB。然后,结果可以由原来的PHP中央服务器检索。
或者,关于冗余--您可以将系统的存储状态部分移动到数据库或中央文件系统(如EFS ),并使用AWS ECS之类的工具来运行容器并连接到它。
根据成本/弹性要求/知识等因素,有很多可能的解决方法。
https://serverfault.com/questions/1095052
复制相似问题