我计划用Java编写一个RPC服务器。服务器需要接受传入的RPCs可能是通过HTTP -并应答它们。相当基础的东西。对‘长轮询’或‘挂起’RPC的支持是不必要的,所以线程-每请求模型应该是完全足够的。
如果我用Python编写这篇文章,我可能会使用twisted这样的框架。在C语言中,类似glibc。在每种情况下,框架都提供了一个通用“选择循环”核心的实现,用于处理IO和调用处理IO的更高级别的构造,最终导致我的应用程序被调用以获取事件,例如接收RPC。
我已经很久没有用Java写过任何实质性的东西了,所以我不知道这种事情的最新技术水平或建议的解决方案是什么。我甚至可以很容易地使用标准库的某些部分来实现这一点。因此,我对StackOverflow提出了一个问题:有哪些框架适合于这样的任务?
请注意,尽管我可能会将HTTP用于RPC,但这显然不是一个web应用程序-因此,web框架并不合适。
发布于 2009-04-09 11:27:13
Apache MINA是一个设计非常好的异步非阻塞网络框架。它提供面向字节的访问以读取和写入数据包数据。在此基础上,它有一个过滤系统,可以在其中添加额外的层,提供面向行的文本解析、加密(通过TLS)、压缩等功能。
PS:强烈推荐2.0版本系列,尽管它仍处于“里程碑”形式,但它已被证明非常稳定,并即将发布最终版本。
发布于 2009-04-09 11:33:44
您有多项选择:
使用现有的socket programming.
然后,您有不同的系统运行在HTTP传输之上,比如JSON/XML-RPC,其中您需要一个Web服务器。即使你排除了他们。
发布于 2009-04-09 12:31:41
您可以考虑使用像Jetty这样简单的东西,jetty的内部非常稳定,可以处理非常愚蠢的连接数量。如果实现特定于jetty的处理程序接口,还可以不使用所有的servlet和JSP支持库,使其成为一个相当小的可嵌入应用程序服务器。
https://stackoverflow.com/questions/733789
复制相似问题