您的位置:首页 > 编程语言 > Java开发

从spring4的新特性看未来的发展趋势

2013-12-24 11:48 561 查看
几周前,spring4已经正式release了,这意味着spring发展至今已经走过了10多个年头,而且势头正猛。

从官方发布的release note来看,spring4一直在保持自己在业界的领头地位,在spring4及其之前的子项目中,我们可以看出来,spring4正在趋向于支持产品化开发,大数据,云以及微服务架构(MSA),mobile,另外,spring也开始全面支持java8的各种特性。

比如最新的spring for apache hadoop,spring data(下面有mongodb, neo4j, redis, rest, solr),spring social就是用来支持云和大数据的。

spring mobile, spring for android就是用来支持移动开发的。

在众多新特性中,有几个关键词值得我们去关注,首先是微服务架构(MSA)。

几年前,为了解耦和更好的重用基础架构及服务,提出了SOA这个概念,而当时对于SOA的实际技术支持是web service,然而web service很快被restful代替,原因是restful更加轻量容易;企业级的服务架构基于层次及模块(如图,图来源于文末文章,推荐阅读),通常,一个这样的架构需要提供出许多服务,比如,访问 122.22.44.55/weather是一个服务,访问122.22.44.55/report是另一个服务,实际上这两个服务是部署在同一个应用下的。

而微服务架构倡导将各个服务解耦,从而将许多现成的服务推到基础设施。为什么是基础设施,因为趋势就是以云为主的基础设施和服务将慢慢占据主导地位,越来越多的通用服务会被移到云上,也就是说,云会为我们处理更多的事情,从而使得应用架构更薄。因而微服务架构所提供的服务会更小,可能只有几百行代码。

微服务架构最为有用的地方是处理遗留系统的代码。很多时候,当我们无法修改遗留系统时,可以通过微服务作为代理放到遗留系统之前,从而暴露真正可用的服务,对于不可用服务,可以在微服务中重写。



另外是spring boot

在学习spring之初大概最痛苦的地方是不能缺少他的context来运行,所以经常不知道从什么地方得到注入的bean。spring boot提供了嵌入的无容器的运行时环境,这意味着,你只需要通过main函数就可以轻松执行spring了(之前当然也可以通过ClassPathXmlApplicationContext之类的来获取并使用),这种能力为上面的微服务架构做了更好的支撑,服务可以通过运行一个jar的方式轻松启动。

还有spring websocket

websocket最近着实火了一把,html5领衔众多浏览器支持这种全双工的新的通信方式,从而是我们的应用能够得到更大的创新,在一些交互频率较高且需要双向通信的领域,比如游戏,股票将会涌现更多创造性的新应用。那么服务端如何很好的去适应websocket所带来的变化呢?spring websocket为你提供了必要的基础,协议以及构建websocket风格的消息架构,并且能够继承STOMP,spring mvc,轻量级的客户端消息代理如msgs.js

spring官方release http://spring.io/blog/2013/12/12/announcing-spring-framework-4-0-ga-release

微服务架构 http://www.infoq.com/cn/news/2013/12/micro-service-architecture
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: