如何将应用程序框架(Django/Rails等)连接到用其他语言编写的后端?

hkmswyz6  于 2023-02-05  发布在  Go
关注(0)|答案(3)|浏览(146)

如果我的应用程序中有内存密集型和算法性很强的部分,我希望用C或Java实现这些部分。将这些代码连接到Django/(Rails,Merb等)Web应用程序的最佳方式是什么?

liwlm1x9

liwlm1x91#

您是否尝试过为C/Java代码查找/编写消息/指令队列处理接口?通过这种方式,您可以将作业从Web应用传递到消息/指令队列,C/Java代码将在其中拾取消息并处理它们。
对于Django,您可以选择使用类似Celery的代码。

czq61nw1

czq61nw12#

这取决于您希望如何与它交互,以及您最喜欢什么。我通常将这些功能 Package 在一个漂亮的HTTP接口中,以便可以从Python访问它几乎每种语言都有HTTP库,并且很容易创建一个小的API。一旦它通过HTTP可用,它还允许您使用标准HTTP工具进行调试、缓存对于可以从队列中受益的较重任务处理,Celery/RabbitMQ功能强大,并且RabbitMQ可以通过多种语言进行接口。ZeroMQ也可以是一种非常灵活和轻量级的方法。
顺便说一句,如果您可以将应用程序中算法密集的部分公式化为向量操作,请查看NumPy

8ulbf1ek

8ulbf1ek3#

对于Python与C/C的对话,可以用途:
Extending Python with C or C++
升压
上述两种解决方案的思想是,用C/C
编写内存密集型代码,然后从Python中调用它们。

相关问题