将数据从Django传递到C ++应用程序并返回

Laz*_*abs 5 c++ python architecture django quickfix

我们正在创建一个交易应用程序,其后端完全使用C ++(使用QuickFix引擎)。我们想在此后端之上的Django中构建一个Web应用程序,用户可以在此下订单。Django(python)和C ++应用程序都将在各自的进程和地址空间中运行。您认为将订单/消息从Django传递到C ++的最佳想法是什么?

另外,这是一个交易应用程序,因此延迟是最大的问题。因此,我不想将订单从Django下放到数据库中,然后再从C ++应用程序中获取。

我目前正在考虑通过共享内存或其他IPC机制来实现。这是一个好主意吗?

tot*_*two 2

那么你必须使用一些 IPC 方法。这里没有提到的是让 C++ 进程监听套接字。这将增加灵活性(具有轻微的速度成本),这些进程甚至不需要在同一台机器上。

我一直在做类似的事情,来自 C++,但想用 python 编写 UX。我的计算后端是 C++,我编译一个 python 模块并使用 Flask 为 UX 生成 html。我的 C++ 和 python 生活在同一个进程中,所以我还没有在实践中解决你的核心问题。

我给出的一条建议是,将所有 IPC 内容保留在 C++ 中,并使用 Boost.Python 在 C++ 中编写一个小型 Python 模块。这将使 python 进程完成 pythony 世界中 95% 的工作,同时为您提供作为 C++ 开发人员所希望的对发送到 C++ 的数据的位级信心。Boost.Python 使桥接 C++ 和 Python Web 框架对我来说变得轻而易举。