代码之家  ›  专栏  ›  技术社区  ›  Eric Darchis

管理JVM代理池和通信

  •  3
  • Eric Darchis  · 技术社区  · 14 年前

    我需要从我的应用程序管理一个代理池。所有这些都是用Java编写的,但是代理需要在自己的JVM中运行。我编写了一个概念证明来启动子进程,并使用stdout/stdin发送命令和保持活动信息。我还打开了一个用于数据传输的套接字连接。

    代理和主进程之间的通信如何?使用TCP和XML消息(JAXB)并不像我希望的那样可靠或方便。有没有建议找一个更好的图书馆来帮忙?

    我可以很好地写我需要自己,但我相信其他人已经做得更好了。

    3 回复  |  直到 14 年前
        1
  •  1
  •   crafty    14 年前

    你可以试试 ZeroMQ ,它是一个消息传递工具,具有用于进程之间通信的本地传输,然后您可以在进程之间序列化对象。

        2
  •  0
  •   Jonathan Holloway    14 年前
        3
  •  0
  •   Eric Darchis    12 年前

    事实上,我发现了两种方法,当我开发这项技术时,会有很大的帮助:

    1. WebSocket。我使用了简单的套接字,但后来我需要重新发明信号,以检查谁在发送和发送东西。我用的是基于行的方法,但它真的很难看。WebSockets提供了基于消息的通信,这很好。

    实际上,我已经开始使用vert.x来处理基于websocket的通信,并意识到它本身就是在使用hazelcast。