Pivotal Reactor发布1.0

Pivotal恰当命名的开源反应式编程类库“Reactor”到达了一个里程碑,该类库于最近对外发布了1.0版本。Reactor为事件驱动、反应式编程模型提供了一个低级别的抽象,同时它还是Spring IO平台的一个组件成员,在它的“IO基础”层。

虽然Reactor的内部并没有直接依赖于Spring框架,但是Reactor是作为Spring IO平台的一个基础组件而设计的。该项目的wiki中提到,它能够借助于“reactor-spring”模块为Spring提供“开箱即用的支持”,但是核心API是作为一个自包含的类库提供的,同时可以在一个Spring应用程序上下文的外部使用。

开发者能够借助于Reactor构建高吞吐量、低延迟时间的应用程序,这类应用程序每秒钟可能必须处理几千、几万或者甚至是几百万的并发请求。实际上,在宣布该版本发布的博客文章中提到,在一台标准的开发者笔记本上Reactor每秒钟能够处理“一千到一千五百万事件”。该博客文章还提醒大家一定要注意,无论如何“Reactor是否能够快速运转一定程序上取决于任务”。

Reactor中的很多灵感来源于Reactor设计模式,该模式为异步事件的分发和处理定义了一个模型。但是该模式并不是构建Reactor的唯一灵感源泉,发布说明中提到其他的灵感来源于很多开源项目和类库,包括即将发布的Java 8。Reactor从这些领域借鉴了一些理念以便于为Streams和Promises这样的异步编程技术提供抽象。

为了简化与它的集成,Reactor为许多流行的类库和语言提供了内置的良好支持。随着对自己宣传口号“快速数据(Fast Data)”的强化,该项目确信公众能够注意到它的高吞吐量LMAX Disruptor API(为了创建超高性能的金融交易而设计)。

项目的“reactor-tcp”模块提供了一个由Netty支持的TCP客户端和服务器API。Netty是一个JVM网络类库,它提供了一个“异步事件驱动的网络应用程序框架和工具……可用于高性能和高扩展性程序”。

它提供语法简化并支持函数式编程技术,将Groovy作为一流语言提供支持,包括使用闭包作为回调。Reactor提供了一个综合的Groovy DSL,用户能够通过该DSL享受简化的配置体验。Java 8也是作为一流语言提供支持的,通过Reactor的API可以利用lambda表达式,还能将方法引用作为回调。Clojurewerkz项目,Meltdown,提供了一个从Clojure到Reactor的接口。Reactor团队强调类库的API已经被设计为可扩展的…所以非JVM语言也能够从它的产品中受益。

Reactor的源码可以免费从GitHub上获取到,它是基于Apache许可的。另外,还可以获取到quickstart和示例项目,通过具体的示例指导新手入门。最近重新设计的Spring.IO 网站上的指南部分还提供了一个全面的“入门”教程。

用户还可以从Maven Central上获取到针对各种Reactor模块的Maven构件,这在发布说明的底部有提到。

查看英文原文:Pivotal's Reactor Goes GA

你可能感兴趣的:(Pivotal Reactor发布1.0)