为啥 async & nio jdbc driver 没有流行起来

269 天前
 ljzxloaf
RT ,相对于原始的 bio ,这看起来是个很自然的优化方案啊。
3235 次点击
所在节点    程序员
36 条回复
BBCCBB
269 天前
因为异步回调, promise 这种反人类..

调用同步, 执行异步才是 java 后续的发展方向.

oracle 本来有在标准化异步的 jdbc 规范, 但有 loom 这种提案, 就放弃了, 就没必要再去搞这种反人类的回调, reactor 这种东西了..
liprais
269 天前
优化啥了?
数据库就能 serve 那么多请求,开再多也没用
javaisthebest
268 天前
人的大脑就不支持多线程和异步。。。同步做事情都做不明白呢
iceheart
268 天前
有栈协程才是正道啊。
无栈的协程,难理解,难维护,难调试和追踪。用这个写业务是有点作死的节奏
chendy
268 天前
因为提高的是资源利用率
但是节约下来的服务器成本,需要投入到人力上,而且未必够用
所以还不如招普通开发堆屎山 + 堆服务器硬抗负载
tulongtou
268 天前
大部分 javaer 的脑子连 stream function 都玩不明白,你让他们玩 async ?
afeiche
268 天前
回调写法反人类啊,你看 nodejs 上了 await/async 之后,写起来自然多了
imzhoukunqiang
268 天前
错就错在选了 Java ,高手看不上,菜鸟学不会。
wdf1286
268 天前
显然协程最符合人类直觉
k9982874
268 天前
nodejs 原生支持异步调用,最后不还是整个项目在 await
iFerrari860
268 天前
javaer 上就是 vert.x 或者 webflux 。。 流式写法确实看起来难受,另外出问题 debug 贼麻烦。。
securityCoding
268 天前
试试 go
lysS
268 天前
异步恶心,现在的趋势是协程的 runtime 结合异步回调,然后只需要写同步代码
wqhui
268 天前
之前用 webflux 出 bug 的时候贼难查是什么原因,除非你提前在可能出错的地方埋好日志,而且代码写起来不能有任何阻塞,所有东西都靠回调,代码恶心的一批 emm
业务上来讲,不重要的操作异步处理就够了
从提高资源利用率上讲,还不如多部署几个应用节点
roundgis
268 天前
要搭配

async&await

或者

coroutine
lyxeno
268 天前
Java 的异步比 ts/js 难用多了,我也不知道为什么会有这种差异
johnniang
268 天前
替代驱动:Reactive Relational Database Connectivity (R2DBC)

https://r2dbc.io/
abcbuzhiming
268 天前
上面很多大佬都是从技术角度说的,但是我想换个角度谈谈:

我个人觉得,有个很重要的点各位没有 get 到。当前这种异步真的增加了什么好处吗?

我觉得没有!绝大多数情况下,你写异步代码并不能真的在用户体验层面上提升多少性能。因为相对于代码程序的运行(甭管你是 java 还是 nodejs 还是别的什么玩意,甚至你是 python 也行),数据库的执行才是慢如蜗牛,于是你用了一堆异步,最后在用户体验上体验不出来,那有什么用,那不是吃力不讨好吗?

难不难用都是其次,主要还是最终使用效果有没有好处。真有巨大的好处,当年纸片打孔编程不比今天各位写代码难多了,照样被无数人强行啃下来用
vgbw
268 天前
异步目前比较好的就是通过语言层面解决,那什么 reactive webflux 写起来太繁琐,还不如等各个 jdbc 适配 loom
photon006
268 天前
@abcbuzhiming

调用数据库或第三方 api or rpc 都属于 io 密集型任务,这种场景更适合异步,简单举例,一个操作需要处理 5 个 sql 语句,每个耗时 1s ,同步执行累加 5 秒,异步并行总耗时只有 1 秒,对上游调用方来说差异很大。当然 java 可以多线程并发,只是更耗资源。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/965267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX