在Vert.x中加载非线程安全的本机lib:多实例vertaries限于其自己的进程

我想写一个使用GraphViz渲染图的顶点。我想通过将本机(共享)库加载到我的JVM中并通过JNI进行调用来做到这一点。现在,GraphViz本身不是线程安全的。仅在各自的线程中始终运行每个多实例顶点是不够的,我还必须确保每个顶点都拥有自己的本机代码实例,或者换句话说,每个顶点都在单独的进程中运行,每个利用其中一个核心。

大多数Vert.x的描述都只说说线程之间的隔离(不共享数据等),我对进程隔离一无所知。

基本上,我正在寻找一个框架来创建REST服务器的几个实例,所有实例都在同一个套接字上侦听或在前端使用负载均衡器,并且不必自己编写任何代码。 PM2对Node.js的作用。我可以用Vert.x做到吗?

我意识到,这可能与Vert.x的精神背道而驰,正如核心文档所明确指出的那样:

  

每个Vertx实例都维护多个事件循环,而不是单个事件循环。默认情况下,我们根据计算机上可用内核的数量选择数量,但这可以被覆盖。

     

这意味着与Node.js不同,单个Vertx进程可以在整个服务器上扩展。

但是,由于我使用的是本机库,每个JVM只能加载一次,因此无法同时执行,因此无法扩展到多个内核,我想我确实希望只使用Node.js模式在Java中。

我的要求也比群集事件总线(如e。 G。 Zookeeper example,因为实例之间不需要通信。

qq872167458 回答:在Vert.x中加载非线程安全的本机lib:多实例vertaries限于其自己的进程

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136934.html

大家都在问