【问题标题】:Sync data with Local Computer Architecture与本地计算机体系结构同步数据
【发布时间】:2015-11-26 01:02:06
【问题描述】:

场景是

我有多台本地计算机运行 python 应用程序。它们位于不同的网络上,等待从 Web 服务器向它们发送数据。这些计算机位于没有静态 IP 且通常位于防火墙和代理之后的网络上。

另一方面,我有网络服务器,它通过表单从用户那里获取更新并将更新发送到正确的本地计算机。

问题

我需要哪些选项来启用它。目前我正在通过 ftp 发送 csv 文件来实现这一点,但这不是实时的。

该应用程序基于 python 构建,并使用 django 作为 Web 部件。

感谢您的帮助

【问题讨论】:

    标签: python django data-binding architecture


    【解决方案1】:

    使用 REST API。然后,您可以通过 HTTP 将信息发布到您的 Django 应用程序,必要时使用身份验证密钥。

    http://www.django-rest-framework.org/ 应该可以帮助您快速入门

    【讨论】:

    • 这是否意味着我必须在发送更新的本地计算机上运行 django 应用程序?这意味着我必须在这台计算机上运行一个网络服务器,正如我提到的,这些网络没有静态 IP 地址可以连接。
    • 在那种情况下听起来你需要一个消息队列。为误读道歉
    【解决方案2】:

    听起来你需要一个消息队列。

    您将运行一个单独的 broker 服务器,该服务器由您的 Web 应用程序发送任务。这可能在同一台机器上。在您的两台本地机器上,您将运行队列 workers 连接到代理以接收任务(因此不需要入站连接),然后在它们完成时实时通知代理。

    示例是 RabbitMQ 和 Oracle Tuxedo。您选择什么取决于您的平台和软件。

    【讨论】:

    • 我查看了消息队列,但不是 100% 在实时部分。本地计算机上的进程是否应该每秒运行一次并检查队列?这是让它接近实时的方法吗?这会给本地计算机带来任何性能问题吗?感谢您对此的帮助。
    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-19
    • 2017-06-14
    • 2014-07-06
    • 1970-01-01
    • 2021-07-17
    相关资源
    最近更新 更多