反应式编程-流处理

反应式编程


反应式编程的风格:非阻塞,异步,函数式

The Reactive Manifesto


反应式编程应有的四大核心特征

  • Responsive: 响应性
  • Resilient: 健壮性
  • Elastic: 弹性
  • Message-driven: 事件驱动性

参阅:

Reactive-Streams


Reactive Streams 定义

Reactive Streams是一种非阻塞背压异步流处理规范

Reactive Streams规范的目标

  • 一个主要目标是通过异步边界来解耦系统组件,从而实现以并行方式执行同步环境下的各种功能
  • 另一个主要目标是为压力处理定义一种规范

Reactive Streams规范的四个接口

Paste_Image.png

Reactive Streams API及实现

  • Reactor
  • RxJava2.0
  • RxJs
  • Akka-Streams
  • Vert.x
  • MongoDB
  • Slick
  • Ratpack

参阅:

ReactiveX


ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是微软LINQ的一个扩展;

开发者可以用Observables表示异步数据流,用LINQ操作符查询异步数据流, 用Schedulers参数化异步数据流的并发处理,Rx可以这样定义:Rx = Observables + LINQ + Schedulers。

Rx是一个使用可观察数据流进行异步编程的编程接口,也是一个函数库,也是一种编程思想,结合了观察者模式、迭代器模式和函数式编程的精华

RxJava历史:

  • Rxjava1.x遵循ReactiveX规范
  • RxJava2.x于2016发布,兼容Reactive Streams规范

参阅:

Reactor


Reactor3

Paste_Image.png

历史:

  • 2013 发布Reactor1.x
  • 2015 结合响应式数据流规范,发布Reactor2.x

参阅:

其它资料


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 微服务并不是一个新的东西。它源自1970年代的研究,最近火了起来是因为微服务可以让我们更快速地改变、更方便地实现价...
    sparrow321阅读 10,486评论 0 17
  • 反应式编程(Reactive Programming)这种新的编程范式越来越受到开发人员的欢迎。在 Java 社区...
    feiniao123阅读 6,838评论 0 6
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,954评论 25 709
  • 人,越能干,就越累, 越懂事,越没有人心疼, 越明事理的,就越没人把你当回事。 即便再坚强,付出再多, 也没人懂你...
    邓邓_2f27阅读 419评论 0 0