写点什么

Pivotal Reactor 发布 1.0

  • 2013-11-26
  • 本文字数:1152 字

    阅读完需:约 4 分钟

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

2013-11-26 06:262211
用户头像

发布了 321 篇内容, 共 134.5 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

中台架构下的DDD和落地实践

高鹏

业务中台 DDD 领域驱动模型DDD 中台架构 中台架构 DDDplus

iOS性能优化 — 三、安装包瘦身

iOSer

ios 性能优化 编程语言 ios开发 安装包瘦身

一文带你掌握Redis操作指南

华为云开发者联盟

数据库 存储

mongodb源码实现系列-网络传输层模块实现二

gmoy-tencent

MySQL 数据库 mongodb 高性能 分布式数据库mongodb

1024丨奈学教育致敬程序员:‘3+2’战略发布会圆满落幕

古月木易

奈学教育

算法图解:如何用两个栈实现一个队列?

王磊

Java 数据结构 算法和数据结构

独家揭秘 | 京东物流Elasticsearch大规模“迁移上云”实践

京东科技开发者

云计算

JVM系列笔记 - 虚拟机栈

朱华

JVM

让“物”能说会道,揭晓华为云IOT黑科技

华为云开发者联盟

物联网 华为云

标准的开发框架,对企业开发有多重要?

Philips

敏捷开发

LeetCode题解:46. 全排列,回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Docker内部组件

混沌畅想

Docker 容器 运维

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(五)

陈泽云

人工智能 数据库 大数据 操作系统

1分钟带你入门 React 生命周期

react.js 大前端 React 生命周期

架构师训练第五周 -编程语言实现一致性 hash 算法

郎哲158

架构师训练营第 1 期 - 第 5 周 - 作业

wgl

极客大学架构师训练营

暂存图片

而立

架构师训练营第一期 - 第五周课后作业

卖猪肉的大叔

马云:数字货币可能会重新定义货币

CECBC

金融

JMM 应用实例:单例模式

朱华

单例模式

使用Hugo和GitHub搭建博客

Felix

GitHub GitHub Pages Blog Hugo

前端科普系列(5):ESLint - 守住优雅的护城河

vivo互联网技术

Java 大前端 代码仓库

文石BOOX Note Air与掌阅iReader Smart2 该怎么选?

两个程序员老友的会面

Learun

敏捷开发

iOS touch事件点的获取

teoking

ios

这个应用魔方厉害了,让软件开发者效率提升10倍

华为云开发者联盟

软件开发 代码

1024丨奈学教育致敬程序员:‘3+2’战略发布会圆满落幕

奈学教育

程序员 奈学教育

架构师训练营第一期 - 第五周学习总结

卖猪肉的大叔

云原生2.0时代:开启应用定义基础设施新时代

华为云开发者联盟

容器 云原生

一文快速入门分库分表中间件 Sharding-JDBC (必修课)

程序员小富

Java 分库分表

配置企业应用业务流程别头大,有工作流引擎就不怕

Marilyn

敏捷开发

Pivotal Reactor发布1.0_语言 & 开发_Dan Woods_InfoQ精选文章