【发布时间】:2022-01-22 06:21:50
【问题描述】:
我有两个 python 进程,process1 和 process2。它们以这样的方式交互:
p1_output = process1_output()
p2_output = process2_output(p1_output)
update_process1(p2_output)
process1 和 process2 具有不同的硬件要求,导致 process1 和 process2 将在不同的 EC2 实例中运行。
我想知道在不同 EC2 实例之间进行函数调用的最佳方式是什么。
我的第一个猜测是构建一个简单的 Flask 应用程序来运行 process2。然后将process1 的输出打包到process2flask 应用的HTTP 请求中,然后等待响应。
有没有更好的方法来做到这一点? boto3 中是否有可以轻松在 EC2 实例之间发送调用的函数?
【问题讨论】:
-
我认为典型的 API 方法是 HTTP 或 WebSocket,因为您需要 2 路通信(请求 - 响应)。如果是一种方式,那么发布订阅/消息传递(例如 MQTT)也可以。所以 Flask HTTP 绝对是可以接受的。但是 HTTP 是否比 WebSocket 更好真的取决于你的用例。
标签: python amazon-web-services amazon-ec2