zoukankan      html  css  js  c++  java
  • 基于RESTful 的几种实现(就随便了解一下)

    百度来的,原文未标出处,侵删。

    1.1. Rails
    Ruby on Rails是新兴的敏捷Web开发框架,在动态语言Ruby的支持下,Rails以新鲜的视角告诉我们Web开发是简单而快乐的。Rails对 RESTful Web Service的开发作了极大的封装和简化,这对开发人员来说是一个强大的工具。而且即将发布的Rails 2.0将全面基于REST。


    1.2. Axis2
    Apache Axis2是传统的Java Web Service框架Axis的下一代版本。从最初的Apache AxisApache SOAP到目前的Axis2,经历了大量变革和发展。相对以前的版本,Axis2更灵活、更高效、更简单。作为Java端官方和传统Web Service框架,在REST与SOAP的硝烟弥漫、战火纷飞的状况下,Axis2尝试同时支持SOAP和REST,采用了WSDL2.0中将REST 与Web服务结合的工作成果。


    1.3. Django
    Django是基于python语言的敏捷Web和Web服务开发框架,它的设计与Rails十分类似,只不过简化和封装稍少一些。


    1.4. JSR 311: JAX-RS
    JAX-RS(JSR 311,Java API for XML-RESTful Web Services)是基于annotation的实现方式,我们通过annotation的方式把一个java class标注成RESTful web service,并把它的方法标注成HTTP的CRUD。相关的annotation有@path @Produces@GET @POST @DELETE @PUT @PathParam等,对java开发人员在使用起来比较方便。

    目前已经有很多现成的实现,比如Jersey Apache CXF JBoss RESTEasy


    1.5. 其他支持RESTful的Java框架

    Restlet(http://www.restlet.org/

    Cetia4(https://cetia4.dev.java.net/

    Apache Axis2(http://http://ws.apache.org/axis2/

    sqlREST(http://sqlrest.sourceforge.net/

    REST-art(http://rest-art.sourceforge.net/

    RESTEasy的性能要好于 Jersey,无论哪种嵌入式JEE容器。

    Jersey+Grizzly2和Jersey+Jetty, dropwizard性能差别不大

    dropwizard底层实际是Jersey+Jetty,性能结果也和Jersey+Jetty一样

    RESTEasy+netty (netty3)的结果并没有优于RESTEasy+undertow.这出乎我的意料,可能CPU和Memory占用上会好一些

    RESTEasy+netty4的性能远远低于RESTEasy+netty3,这出乎我的意料。或许因为Netty线程池的改变。

    纯netty的性能远远高于其它框架,一方面是由于没有http router的逻辑,另一方面也显示了Netty框架的优秀。如果不是实现很复杂的路由和很多的Service,不妨使用纯Netty实现高性能。

    Spring Boot太厚重了,使用Spring MVC的语法,性能只有Jersey的一半。

    Vert.x底层使用Netty,可以使用Java 8 Lambda语法,也提供了其它语言的支持,但是性能看起来不是太好,而且随着并发量增大吞吐率也随之下降。

  • 相关阅读:
    poj1182 食物链
    poj1611 The Suspects
    poj3436 Computer Factory
    (转) GPG入门教程
    cronolog安装配置
    RHCA-436-4 rhcs conga
    pxe引导gparted live万能分区
    linux下拔号pptp
    GNU parted简略用法
    hostapd故障解决(1.1,2.0,2.2)
  • 原文地址:https://www.cnblogs.com/dlsunf/p/8648850.html
Copyright © 2011-2022 走看看