从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是另一个服务,实际上这两个服务是部署在同一个应用下的。
而微服务架构倡导将各个服务解耦,从而将许多现成的服务推到基础设施。为什么是基础设施,因为趋势就是以云为主的基础设施和服务将慢慢占据主导地位,越来越多的通用服务会被移到云上,也就是说,云会为我们处理更多的事情,从而使得应用架构更薄。因而微服务架构所提供的服务会更小,可能只有几百行代码。
微服务架构最为有用的地方是处理遗留系统的代码。很多时候,当我们无法修改遗留系统时,可以通过微服务作为代理放到遗留系统之前,从而暴露真正可用的服务,对于不可用服务,可以在微服务中重写。
![](http://infoqstatic.com/resource/news/2013/12/micro-service-architecture/zh/resources/1.PNG)
另外是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
从官方发布的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
相关文章推荐
- 中国网络未来的发展趋势
- 未来网络发展趋势之我见
- 解析礼物网站未来5种互联网发展趋势
- Spring Boot 2.0 新特性和发展方向
- 十个未来发展趋势
- 自建邮件系统是企业未来的发展趋势
- java未来趋势 Java促进大数据的大发展
- 编程语言的发展趋势及未来方向(1):历史回顾及趋势概述
- 移动互联网未来发展趋势
- HTML5未来发展的六大趋势
- 未来十年互联网十大发展趋势
- 漫谈中国各省未来发展趋势(2011版)
- 编程语言的发展趋势及未来方向(1):历史回顾及趋势概述
- 软件工程未来发展趋势
- php现状及未来发展趋势:
- 未来智能手机摄像技术发展趋势:应用
- 软件工程的未来发展趋势
- 未来DSP发展趋势
- 未来发展趋势在于微信小程序