从Django传递数据到C++应用程序和B

2024-10-01 07:21:06 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我们正在创建一个交易应用程序,后端完全是C++(使用QueFixEngine)。我们希望在这个后端上用Django构建一个web应用程序,用户可以在这里下单。Django(Python)和C++应用程序都将运行在它们自己的进程和地址空间中。你认为从Django传递命令到C++的最佳方案是什么?在

另外,这是一个交易应用程序,所以延迟是最大的问题。所以,我不想把订单从Django中放入数据库,然后从C++应用程序中取出。在

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


Tags: django用户订单命令web数据库应用程序进程
3条回答
<>你必须拿出一个现有的协议或者创建自己的协议,允许C++和Python之间的通信。我认为最简单的方法是使用一些IPC,比如ZeroC Ice,或者{a2}。或者,您可以throw in a native C++ code into Python并从Django使用它,也可以使用QuickFIX。在

如果您真的关心延迟(至少毫秒很重要,而不是纳秒),那么you shouldn't use QuickFIX或者Python。在

我将使用zeromq作为IPC

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

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

<> P>我建议你把所有的IPC东西都用C++来写,用C++编写一个小的Python模块。Boost.Python. 这将让Python进程在PythOy世界中完成95%的工作,但是给你一个比特级别的信心,我希望它是C++的DEV,用于你发送给C++的数据。Boost.Python使桥接C++和Python Web框架对我来说是微不足道的。在

相关问题 更多 >