簡體   English   中英

用於java的非阻塞io webserver / framework

[英]Nonblocking io webserver/framework for java

有誰知道java的任何node.js樣式的webserver框架? 我意識到在處理Web請求時具有非阻塞回調行為需要在Web服務器級別提供深度支持。 我對node.js感興趣,但是當我有一個最終持久化數據的Web服務器時,我想利用Java提供的靜態類型系統。 但是,我想要非阻塞io的可擴展性。

灰熊可能是你正在尋找的。

此外,如果您對使用自3.0之后也提供異步支持的Servlet API感興趣,那么可能很高興知道正常的servletcontainers也支持NIO(通常僅使用Grizzly),如Apache Tomcat 7Oracle Glassfish 3

我對此的看法是Play! 框架(見http://www.playframework.com/ )。 它支持Java和Scala的開發。 Play建立在Netty之上(參見http://netty.io/ ),它本身就是一個NIO(非阻塞IO)客戶端 - 服務器框架。 Play(和Netty)使用Futures(異步操作的結果/讀取句柄來處理將來可能發生的某些事情)和Promises(可寫的Future)來解決這個問題(參見http://en.wikipedia) .org / wiki / Futures_and_promises

也許你完全不想要它。 有大量證據表明,“可擴展的NIO”在大量客戶面前無法真正實現其優勢。 請記住,當計算單位是一個進程而不是一個線程時,select()和friend被設計回來了。 除非你計划從第一天開始就有數十萬個連接,否則我肯定會首先在java.net中構建然后進行評估。

麻利

特征

  • 專為數千個同步連接而優化和優化。 (C10k)(C500k)
  • 使用純Java NIO(java.nio和java.nio.channels)
  • 異步(非阻塞I / O)

目前您可以使用兩個主要框架

  1. Vert.x(最初名為node.x)

我問自己同樣的問題,而不是像我應該那樣搜索,我看了你如何編寫用於將軟件組件部署到nio服務器的框架,類似於將servlet和ejbs部署到Java EE容器的方式。 我在http://blog.maxant.co.uk/pebble/2011/05/22/1306092969466.html上發布了博客,以防萬一。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM