Java >> Java tutorial >  >> Tag >> Netty

Netty-baseret ikke-blokerende REST-ramme

Hvis du virkelig ønsker ikke-blokering, skal du lave ikke-blokering fra bunden og have ordentlige REST-klienter. Ellers vil præstationsforskellen som nævnt i min kommentar være ubetydelig og i mange tilfælde værre for NIO (Netty med tråddeling).

Der er kun to biblioteker, som jeg ved, der ikke blokerer fra bunden af ​​Vert.x og noget Finagle (det mangler andre ting som ikke-blokerende dataadgang).

Du bør også kende Tomcat og forskellige andre servlet-beholdere, der kan arbejde med JAX-RS support NIO. Problemet er, at selvom NIO understøttes, vil det stadig være en enkelt tråd pr. anmodning. Kun Play, Finagle, Vert.x og pure Netty (uanset NIO) understøtter en anden delt threading-model og har således forskellige mekanismer til at lave samtidighed.


Her er listen over mikrorammer, jeg kender til REST-applikationer:

  • Scalatra - http://www.scalatra.org/ (Scala + Netty)
  • RestExpress - https://github.com/RestExpress/RestExpress (Java + Netty)
  • Finatra - https://github.com/capotej/finatra (Scala + Finagle + Netty)

Du er velkommen til at kommentere svaret - jeg opdaterer svaret for at tilføje flere.


Har du kigget på Play?

Det ser ud til, at du er tilbøjelig til at bruge Netty, men hvis du er villig til at se dig omkring, vil en meget simpel Grizzly + Jersey-opsætning sandsynligvis fungere godt nok. For pokker, en simpel Glassfish 4.0 JAX-RS-app kan også fungere godt.


Java tag