Java和Python守护进程之间的数据桥

Java和Python守护进程之间的数据桥,java,python,database,distributed-computing,in-memory-database,Java,Python,Database,Distributed Computing,In Memory Database,我有两个后台进程在linux机器上运行。一个是Java,第二个是Python。在这两个应用程序之间交换数据的最有效方式是什么?我指的是

我有两个后台进程在linux机器上运行。一个是Java,第二个是Python。在这两个应用程序之间交换数据的最有效方式是什么?我指的是<10Mb以下的文本/图像数据,大约每5分钟(非流媒体)。由于重构成本高,我们无法完全迁移到Python(或Java)

自然的选择是文件系统或本地网络,但内存数据库(sqllite/redis/…)呢?我想,文件系统处理或网络处理有时是痛苦的

您认为内存中的DB是执行此任务的好选项吗?Jython不是该选项,因为并非所有Python库都兼容


环境:ubuntu服务器12.04 64位、Python 2.7、Java 7鉴于您需要的数据量相对较低,我认为最简单的方法是使用TCP套接字在两个进程之间进行通信。环回接口上的数据速度足以满足您的需要。

鉴于您需要的数据量相对较低,我认为最简单的方法是使用TCP套接字在两个进程之间进行通信。环回接口上的数据速度足以满足您的需要。

将是最快的,因为它不会使用磁盘,也不会像TCP那样产生不必要的开销。

将是最快的,因为它不会使用磁盘,也不会像TCP那样产生不必要的开销。

传输数据的有效方法是本地TCP连接并使用公共协议传输数据。是跨语言平台定义协议的一种方法。内存中的数据库会给您的系统增加一个全新的组件和不必要的复杂性。

传输数据的有效方法是使用本地TCP连接,并使用公共协议传输数据。是跨语言平台定义协议的一种方法。内存中的数据库将为您的系统添加一个全新的组件和不必要的复杂性。

我将看看ZeroMQ。它一点也不痛苦,有Python和Java两种风格。它一点也不痛苦,有Python和Java两种风格。如果不使用第三方(本机)库,Java无法创建或访问Unix域套接字,这使事情变得有点复杂。如果不使用第三方(本机)库,Java无法创建或访问Unix域套接字,这使事情变得有点复杂。