与Pivotal聊Spring、Reactor及其他
极客时间编辑部
讲述:杜力大小:1.10M时长:02:24
近日,在旧金山举行的 SpringOne 平台大会上,InfoQ 记者采访了来自 Pivotal 的西蒙(Simon),他是 Reactor 项目的软件工程师。
Reactor API 似乎发展得很快,涵盖了很多内容,而且越来越健壮和成熟,当被问及 Pivotal 团队是如何做到这些的时候,西蒙认为实现是最困难的部分。因为用户越来越多,用户的应用场景也在不断变化,用户经常会说“如果能够提供这种操作就好了”。
他表示,Reactor 欢迎来自社区的反馈,但首先要看看通过组合已有的操作是否能够满足用户的需求,因为 Reactor 很强大,有很多基本特性,通过组合它们可以实现复杂的异步操作管道。但有时候会有人说“这太难调试了,或许可以提供新的操作”,这些建议也会被采纳。
当然,除此之外,也会有 bug 修复、特性改进和优化。也有一些代码提交者不是 Pivotal 的员工,他们也会向项目团队提供反馈。比如戴维·卡诺克(David Karnok),他负责 RxJava 的开发,同时也参与了 Reactor 项目。最初,他重度参与到项目中,设计了所有的下一代反应式组件,现在仍然很活跃。Reactor 没有像 RxJava 那样的历史包袱,这是 Reactor 好的一面。
那么,为什么用户需要两个反应式项目?一名 Spring 开发者为什么要选择 RxJava 呢?
西蒙表示,Spring 和 RxJava 其实是不一样的,RxJava 面向的是另一个群体。事实上,RxJava 仍然支持 Java 6,这也是安卓大量使用 RxJava 的主要原因,而 Reactor 的目标并不在安卓上。如果是做安卓开发,那么可以使用 RxJava,而如果是做后端的 Spring 开发,那么可以选择 Reactor。但它们都遵循相同的反应式流规范,选择在于开发者自己。
Spring 内部使用了 Reactor,但如果开发者要使用 RxJava Route 和 Flowable,那也没有问题。
对于是否可以使用 Reactor 来创建组件生成新的 Flux 这个问题,西蒙回答道,他们的目标是提供一系列高效的操作来满足大家的需求。如果看过 Reactor 的源代码,就会发现一些新的东西。Reactor 使用了一些高级的模式,用户不需要自己去实现操作,因为那样太麻烦了,它提供了一组反应式流 API,可以帮助用户来实现操作。如果用户实在找不到需要的操作,可以尝试换一种方式来解决问题,或许可以进行组合操作,或者使用命令式的方式来处理。如果非要一个新的操作不可,那么可以在问题跟踪系统里提交请求。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论