写点什么

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:261989
用户头像

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

关注

评论

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

QT | VS2017 + Qt5.14.2环境搭建

YOLO.

环境搭建 vs Qt Creator 7月月更

Java方法重载及递归

未见花闻

7月月更

玩转Liunx系统,看这篇文章就够了(二)

Java学术趴

7月月更

使用 Gorilla Mux 和 CockroachDB 编写可维护 RESTful API

宇宙之一粟

Go 语言 CockroachDB 7月月更

语音聊天源码——语音聊天源码开发设计搭建

开源直播系统源码

软件开发 直播系统源码 开源源码 语音聊天源码 语音社交软件

Linux下QT配合OpenCV完成图像处理(实现基本的人脸检测)

DS小龙哥

7月月更

zookeeper-zookeeper常用命令

zarmnosaj

7月月更

镍氢电池的特性和使用方法(FDK镍氢电池充电机制)

不脱发的程序猿

嵌入式 汽车电子 镍氢电池 镍氢电池充电逻辑 FDK镍氢电池

list的使用方式

小肉球

qt 7月月更

MFC|自绘CStatic刷新不及时问题

中国好公民st

c++ 7月月更

从 0 到 1 开展软件测试

声网

测试 生态专栏

从0开始的 TypeScriptの十四:内置工具类型

空城机

typescript 7月月更

spark调优(六):大家好才是真的好——广播变量

怀瑾握瑜的嘉与嘉

spark 7月月更

即时通信的应用小实例——扫码签到小系统

为自己带盐

即时通信 7月月更

SVN使用:更新代码不成功导致SVN被锁定的解决方法

三掌柜

7月月更

【Debug】VS EXE运行“应用程序无法正常启动(0xc000007b)”

柒号华仔

debug 7月月更

【答疑解惑】 裁员浪潮中,N+1 到底指什么?

面试官问

互联网裁员 N+1

阿里云架构师马颂:云上高性能计算助力基因测序

阿里云弹性计算

高性能计算 EHPC 基因测序

jQuery(三)

Jason199

jquery js 7月月更

1800字带您了解视频会议、视频聊天底层技术:WebRTC 网页实时通信

wljslmz

WebRTC 音视频技术 视频技术 7月月更

如何控制css鼠标样式以及扩大鼠标点击区域

南极一块修炼千年的大冰块

7月月更

Istio Mesh模型

阿泽🧸

7月月更 Istio Mesh

LaTex笔记(Windowns)

乌龟哥哥

7月月更

ArkUI常见问题汇总【系列3】

坚果

HarmonyOS Open Harmony 7月月更

查找——二叉排序树(一)

乔乔

7月月更

谈谈JavaScript的作用域及作用域链

南极一块修炼千年的大冰块

7月月更

Docker 安装 MySQL8.0

宁在春

MySQL Docker 镜像 7月月更

【古月21讲】ROS入门系列(2)——发布者Publisher、订阅者Subscriber的编程实现+自定义话题消息编程实现

秃头小苏

ROS 7月月更

深入Ceph原理包含核心算法Crush说明和通信机制原理(五)

Lansonli

云原生 Ceph 7月月更

iOS中的Block(初步认识)

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

mysql进阶(三)游标简易知识点汇总

No Silver Bullet

MySQL 数据库 游标 7月月更

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