首页 文章

使用Nailgun vs netcat为Java应用程序提供快速CLI有哪些优点和缺点?

提问于
浏览
4

已经讨论了减少Java和Scala应用程序启动时间的方法herehere . 其中一个解决方案建议使用客户端 - 服务器方法,使用Nailgun或通过TCP套接字与netcat进行通信的简单手写服务器 .

一方面,Nailgun就是为此目的而设计的 . 另一方面,它的最后一个版本0.7.1是在2005年,如果开发已经停止并且它有多稳定,我有点担心 . netcat似乎是一个非常标准的工具,可以在许多Linux / Unix系统上使用 . 但这两个系统对我来说都是新手,所以我想知道我的观察是否正确以及使用Nailgun vs netcat为Java应用程序提供快速命令行界面的其他优点和缺点是什么?

附:您可能想知道为什么要改善启动时间,因为它已经非常合理(在我的机器上约100毫秒)或者为什么不使用说C / C.第一个是因为应用程序将被执行多次(例如,来自bash脚本中的循环)并且不幸的是这个使用场景不能改变,第二个是因为这个控制台程序将只是现有部分的替代接口(CLI)用Java编写的软件 .

3 回答

  • 4

    我的推荐将是现在使用nailgun和 prove ,这种解决方案确实对开始时间产生积极影响 .

    如果您已经确认瓶颈是启动时间,那么您可以实现一个非常简单的客户端/服务器,其优点是可以自由使用任何通信程序(netcat,wget,curl,perl等)并完全控制协议 .

  • 0

    “在下载它之前,请注意它不安全 . 甚至没有关闭 . 虽然有办法确保客户端从本地计算机连接到服务器,但还没有任何”用户“的概念 . 任何程序在Nailgun中运行的权限与服务器本身具有相同的权限 . 您已收到警告 . “

    我个人希望在投入 生产环境 之前将其修复...

  • 3

    Nailgun运行良好,Netcat也运行良好 . 我用过这两个 . Netcat适用于任何程序,而不仅仅是Java . 它可用于在LAN上执行说关闭脚本 . 对于Windows,您可能只需要使用Nailgun .

相关问题