来自Spring技术布道师 乔什龙 的总结:今年是一个有趣的一年,其中现有的做法以非凡的新方式得到了完善。以下是我记得2018年的事情。
响应式编程
2018年是响应式年,在2018年,我们提供了所有反应集成的GA版本,这是有意义的。2018年,我们发布了Spring Boot 2和Spring Cloud Finchley,它们汇集了Spring Data Kay,Spring Security 5以及Spring Framework 5等其他项目。这些版本在适当的情况下为阻塞和同步世界。也是在我们开始提供仅反应性选项的工作的那一年; 超出可能的广告的东西,更好的基于反应式编程,如R2DBC和RSocket。
RSocket
RSocket Systems集成很难。整合很难。HTTP是用于获取文档的强大协议,但它缺乏应用程序级语义,每个开发人员必须在HTTP动词(REST)之上重新设想。它是面向请求 - 响应体系结构,但缺乏处理其他消息交换模式的能力,如请求 - 响应,“即发即弃”和流(在请求,响应或两者中)。
我们知道,反应流规范为处理集成提供了一个很好的心理模型。在其中,边界被假定为异步和解耦。组件通过背压概念支持流量控制。
此外,HTTP是文本编码的。当然,您可以执行二进制数据,但您需要对其进行编码。
RSocket是一种新的二进制协议,内置支持来自Netflix和Facebook的人们的反应流规范。它支持所有上述消息交换模式。由于它是一个协议,因此有不同的客户端库支持不同的平台和语言,包括JavaScript,C ++和Java。
Java实现很自然地 基于Project Reactor 。我们在即将召开的SpringOne Platform 2018会议的Spring Framework 5.2发布列车中宣布正式支持RSocket。
R2DBC
当人们看到反应式编程时总是问“我应该使用JDBC吗?”或“我可以使用JDBC吗?”或者更直接地说,如果没有反应式JDBC选项,“我应该为反应式编程烦恼吗?”。
如果在reactive响应式JDBC,流中的任何一点都会阻碍处理规模,你就不会得到反应式编程的自夸规模优势。
如果您最终启动新线程以扩展与JDBC的交互,那么您已经限制了系统规模潜力。但这并不是说没有办法实现反应式SQL。它不是传统JDBC。
对于那些驱动程序本身支持异步IO和反应式编程的数据库供应商而言,有一些选项可能会为JDBC提供一个非常有趣的替代方案。
一个选项是 R2DBC ,在我们的SpringOne平台2018年的会议论坛上宣布了这一点。整合是三层的:首先是较低级别的R2DBC SPI,其中最重要的是构建数据库绑定。此时,H2,Microsoft SQL Server和PostgreSQL都有绑定。在这个级别,你会发现一个DatabaseClient或多或少相当于JdbcTemplate,这使得使用低级R2DBC尽可能方便。
最后,在众所周知的堆栈的顶部是Spring Data R2DBC。
KNative无服务器
这个词几乎是风靡一时,它描述了这样想法:应该让云平台处理越来越多的那些“需要将软件转移到生产中的工作”。平台根据客户端的请求调用相应的内容,其中包括 路由,调度,扩展和扩展 - 由平台处理。
一个函数的输出也可以是另一个函数的输入,这种组合构成意味着可能会发生有趣的事情。函数可以彼此临时连接以产生结果。此外,函数可以附加到事件源,响应函数生态系统中的事件,无论函数在哪个平台上运行。
在这里,他们作为集成代码的实力变得明显。2017年的 Riff项目 。正如我们最初设想的那样,它是一个基于Kubernetes的函数即服务平台。但这只是第一步。在我们在2017年SpringOne平台活动中介绍它之后的几个月,Riff团队开始与Google合作 开发KNative 。
KNative是对Kubernetes的进一步抽象化。它提供了内置的原语,可以想象可以构建像Project Riff这样的东西。这正是我们所做的。
在2018年,Google和Pivotal在Google NEXT上宣布了KNative,并且我成为第一个在Google Next与Ray Tsang联合演示中进行KNative演示的非Google员工。
KNative不仅对Project Riff很重要,对于Kubernetes生态系统来说也是一件大事,我很高兴看到它的发展方向。
Spring Cloud Supremacy
今年巩固了Spring Cloud在开发人员的分布式系统工具包中的作用。Spring Cloud核心本身就变得被动了,它引入了新的常见问题,如Spring Cloud Gateway。它还发布了 针对Google Cloud的 [url=https://www.youtube.com/watch?v=jRgZe7kWDnU]Spring Cloud[/url]和 适用于Microsoft Azure 的 Spring Cloud 的GA版本。今年我们比以往任何时候都看到大型组织转向微服务,甚至像Netflix这样的先锋技术公司已经整合了Spring Cloud。
真的一年!而明年已经在寻求更大更好!那是2019年的包装。我们明年将会见到你,2019年1月1日。