设为首页 收藏本站
查看: 752|回复: 0

[经验分享] Jetty 9.3庆祝20周年生日快乐,并添加HTTP/2支持

[复制链接]
发表于 2017-3-2 06:05:39 | 显示全部楼层 |阅读模式
  本文来源于我在InfoQ中文站翻译的文章,原文地址是:http://www.infoq.com/cn/news/2015/06/Building-Distributed-Systems
  今年6月12日。Jetty项目公布了旗舰性开源嵌入式应用server的9.3版,同一时候这一天也是该项目的20周年纪念日。此次公布的主要特性包含添加了对HTTP/2服务端(与client)支持、系统最低要求Java 8。以及很多其它的NIO集成与全然重构的调度器。
  此外。该版本号还移除了SPDY网络支持、并修复了自Jetty 9.2.x以来的400多个Bug。
  Jetty的主开发人员Greg Wilkins撰写了一篇博文,谈到了Jetty对HTTP/2的支持。
  在文章中。他介绍了如何在Jetty启动命令中轻松启用HTTP/2支持。
$ java -jar $JETTY_HOME/start.jar --add-to-startd=http2,http2c  上述命令并不会创建或是开启新的连接器/port。仅仅是向port8080与8443的既有连接器上添加了HTTP/2协议。大多数现代浏览器的最新版本号都提供了对HTTP/2的支持。
  请訪问http://caniuse.com/#feat=http2了解各个浏览器对HTTP/2的支持情况。
  InfoQ有幸採訪到了Greg Wilkins,请他谈谈Jetty这20年的发展历程。
  InfoQ:恭喜你。Greg,我敢打赌你从来没有想到Jetty居然能发展到今天。20年的历程。
  

其实。我一開始仅仅是将其作为我所开发的一个问题追踪Web应用中的一个模块而已,从来没有想过有人会对它产生兴趣。但结果却是非常多人都開始使用Jetty。同一时候该HTTPserver也成为了我基本的工作方向(要不我肯定还在开发那个问题追踪应用。或许后来成为Atlassian也不一定呢【译者注:Atlassian是知名的协作工具Confluence与JIRA的开发公司】)。
在过去的10到15年间,我期望Webserver可以成为像日经常使用品一样的东西,不管人们选择哪个server都不会有什么不同。但事实却并不是如此:JVM发生了变化、标准发生了变化、优化server的方式发生了变化、开发Web应用的方式也发生了变化。  因此。为了适应这些变化,Jetty也总是须要不断变化。而各个容器的变化则是不同的。
  InfoQ:紧跟全部最新的标准与需求如WebSockets和HTTP/2是件非常有挑战的事情。
  是否能向大家介绍一下你探索并实现这些需求的过程么?

成为JCP与IETF专家组成员让我们可以始终走在标准发展的最前沿。我们觉得有时我们在引领标准,有时也在尾随标准。只是。我觉得最优秀的创新还是来自于真有用户的真实需求,作为广泛多样的开源社区的一部分是寻找到这些需求的关键所在:异步Servlets就源自ActiveMQ的一个特性需求;WebSockets之所以能引起我们的注意,原因在于Dojo中的cometd;我们如今正在调研反应式Stream APIs,由于非常多用户对此都非常感兴趣。
  
  InfoQ:微服务部署量的持续添加对Jetty的使用产生了何种影响?
Jetty当然也适用于微服务,只是我希望微服务能促进Jetty的发展(在真正的开源项目中这是非常难的)。
  只是到眼下为止。微服务并未驱动Jetty发生不论什么重要的改变,我希望这是由于我们的设计目标是针对简单的嵌入式用途。而微服务在这个领域中并没有什么新东西。
  InfoQ:在应用server市场有非常多竞争者,特别是开源领域的Tomcat。
  那么Jetty是如何做到如此成功的呢?

我们并未感受到应用server市场的竞争,由于我们并不想与完整的EE。甚至是提供Web Profile的对手竞争。当然了。Jetty可以用于EE部署,只是我们深信面向组件的开发,不理解为何你的HTTP协议提供者应该负责持久化业务Beans、管理事务或是生成内容。有非常多其它组件可以完毕这些事情,我们仅仅专注在自己擅长的领域上:为HTTP、HTTP2、WebSocket、FCGI等提供可伸缩的协议实现,让用户为应用的其它部分选择合适的组件。我们还可以确保的是,我们对其它项目也有非常好的把控。因此将CDI、JSF、JMS、ETC等集成到Jetty中是非常直接且高效的。
  
假设说有什么差别的话,我们觉得专注在可伸缩的异步微服务的轻量级HTTPserver是我们真正面对的竞争对手。这个领域有一些创新空间,我们希望可以支持他们所期望的语义,同一时候依旧提供Servlet API。因此,我们一方面提供了相似的、可伸缩的、灵活的异步HTTP,同一时候在须要时又提供了对Servlet API的全然訪问。
这样的灵活的做法在市场上非常有吸引力。看看使用Jetty的那些大公司吧,Google、Yahoo、Facebook、Salesforce、LinkedIn等,他们彼此之间的使用方法都不同,但没有一家公司像曾经那种使用EE的。
  
  InfoQ:计划何时公布兼容于Servlet 4.0的版本号呢?
Jetty 10将会支持Servlet 4.0。只是,我们还不确定4.0中究竟会有哪些东西,这个过程将会持续非常长时间。因此。如今还没有详细的时间规划。究竟添加什么特性眼下也是不明朗的。
  InfoQ:不久的将来,Jetty将会添加哪些特性?
尚不确定。
  我们有一些想法:反应式流、增强的CDI集成、Websocket over HTTP2、Quic等。我们已经開始着手对当中一些特性进行试验了,只是还须要真实的用户需求,接下来才干将这些大概的想法形成计划。

  
  Webtide提供了对Jetty的支持。
  其实,Professional Services网站就是个HTTP/2的測试床。
  查看英文原文:Jetty 9.3 Celebrates 20th Anniversary, adds HTTP/2 Support

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-348936-1-1.html 上篇帖子: jetty 8.x, 9.x无法加载jstl的PWC6188问题 下篇帖子: java.lang.ClassNotFoundException: net.sf.json.JSONArray,java.lang.NoClassDefFoun
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表