总结:优缺点及使用场景

栏目: Java · 发布时间: 7年前

内容简介:能实现通过较少的线程处理并发,大大提升程序性能。

好处和不足

好处:

Reactive 是异步非阻塞编程

能实现通过较少的线程处理并发,大大提升程序性能。

Reactive 解决传统编程模型遇到的困境

对于阻塞,可以通过 Callbacks和Futures解决 ;但Callbacks会产生回调地狱问题(callback hell);Futures 相对于 Callbacks 好一点,不过还是无法组合,不过 CompletableFuture 能够提升这方面的不足

不足:

没有异步的JDBC api

Java先前大多提供的是同步阻塞库或规范,没有golang类似的官方支持的协程。不过这些都在改善提高中,例如openJDK中的Loom项目就计划实现协程功能,而阿里巴巴的Wisp协程技术已经在阿里生产环境中使用,这两个(Loom和Wisp)未来可能会合并成一个项目。异步JDBC在两年之内应该可以发布。

思维方式改变,带来开发的难度

使用场景

RxJava多用于android

《Reactive Programming with RxJava》所给出的使用场景说明:

When You Need Reactive Programming

Reactive programming is useful in scenarios such as the following:

  • Processing user events such as mouse movement and clicks, keyboard typing,GPS signals changing over time as users move with their device, device gyroscope signals, touch events, and so on.
  • Responding to and processing any and all latency-bound IO events from disk or network, given that IO is inherently asynchronous ...
  • Handling events or data pushed at an application by a producer it cannot control ...

webflux:响应式Spring Data支持的数据库

各个数据库都开始陆续推出异步驱动,目前Spring Data支持的可以进行响应式数据访问的数据库有 MongoDBRedis 、Apache Cassandra和CouchDB。今天我们用MongoDB来写一个响应式demo。

webflux:网关api

api网关作为反向代理,对外部系统提供统一的服务访问入口,对请求进行鉴权限流等访问控制处理,通过后将请求路由转发给后端服务。在高并发和潜在的高延迟场景下,api网关要实现高性能高吞吐量的一个基本要求是全链路异步,不要阻塞线程。

2016年以前,spring cloud zuul网关采用同步阻塞模式不符合要求。Zuul 1本质上一个web servlet应用,因此是多线程的、阻塞的,也就是说对每一个Http连接都会用一个单独的线程来处理。在Zuul 1中,对于IO操作,会再用一个工作线程来执行,工作线程中的IO操作执行完成后会通知处理请求的线程,操作完成前,后者是阻塞的。Zuul 2对API网关的异步化改造。

协程实现

编写高性能api网关也可采用协程,当有阻塞时,阻塞在协程上而不是阻塞在线程上。和线程相比,协程是很轻量级的资源,在一个线程中可有几千个协程,协程的调度在用户级,调度开销也比线程小得多,所以采用协程也能实现网络io或io密集型系统的高吞吐量。

参考


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

基业长青

基业长青

[美] 詹姆斯·柯林斯、[美] 杰里·波勒斯 / 真如 / 中信出版社 / 2006-9 / 39.00元

如何建立一个伟大并长盛不衰的公司?有思想的人们早已经厌倦了“年度流行语”般稍纵即逝的管理概念,他们渴求获得能经受时间考验的管理思想。 柯林斯和波勒斯在斯坦福大学为期6年的研究项目中,选取了18个卓越非凡、长盛不衰的公司作了深入的研究,这些公司包括通用电气、3M、默克、沃尔玛、惠普、迪士尼等,它们平均拥有近百年的历史。是什么使这些公司不同于它们的竞争对手呢?他们拥有什么别的公司所不具有的法宝呢......一起来看看 《基业长青》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具