虚拟线程还是 WebFlux

1 月 30 日
 ttthys

前言

准备搭建一个公司自用的 iot 平台,要求实现设备监听和 rag 知识库,但是公司现有的开发人员包括我在内只有 3 人,都是 Java 开发,前端是兼职的,3 个人的开发水平不一,另外两位没有接触过响应式编程以及 spring ai 和 langchian4j 看了下开源的 iot 平台,感觉 jetlinks 不错,但是都是用的响应式编程,可能会有一定的学习难度,企业版的功能基本符合客户预期,就看公司舍不舍得出钱了

考虑

webflux 确实感觉有点反人类,还要配合 r2dbc 使用才行,可能就算是用 jetlinks 到时候估计也会有一大堆问题,看能不能先直接上 jdk25 的虚拟线程,还是用传统开发模式,对于设备实时监听和 rag 的时候用 websocket 和 sse

2433 次点击
所在节点    程序员
19 条回复
wysnxzm
1 月 30 日
用新不用旧
ThinkCat
1 月 30 日
如果为了快速出产品,还是先用稳一点的技术,不至于一边弄一边填这些技术或者学习的坑。传统模式挺好的,ws 和 sse 支持目前都不错。 如果后面真的碰到了性能的天花板,再换也不迟。
xbhayi
1 月 30 日
我感觉主要是设备监听 都是 netty 的,虚拟线程和 WebFlux 区别不大吧
dode
1 月 30 日
多开点内存
CaspianJou
1 月 30 日
虚拟线程,有几个项目在用了目前没发现啥大问题。唯一就是注意 synchronized 目前有点问题,我记得会阻塞 Carrier Thread ,用 Reentrantlock 替代,说是 bug 后面版本会修。响应式还是太反人类了,非要用 webflux 建议全程 vibe coding
Yanickkk
1 月 30 日
WebFlux 有污染性,能接受也还行,就和 async 一样,最开始就声明就好了,其他就没有什么。23 年写了好多,现在新项目改 virtualthread 了,简单很多
EastLord
1 月 30 日
当然是虚拟线程啦
cookii
1 月 30 日
虚拟线程,或者 vertx/quakus 吧,webflux 很难用
zed1018
1 月 30 日
@cookii 复议。webflux 享受不到 spring webmvc 的生态福利,但是又要享受到 spring 的一大坨。还不如换 vertx/quakus 。但是现阶段据说虚拟线程能达到 90%webflux 的性能
ymy3232
1 月 30 日
人工比内存贵 多开点内存就行
virus384
1 月 31 日
都用,并不冲突,webflux 的链式编程处理业务其实挺强的
chenPiMeiHaoChi
1 月 31 日
以前写过两年 webflux ,很好玩,但现在建议虚拟线程。
fbu11
1 月 31 日
虚拟线程吧,都没掌握明白就先别用新技术,mqtt 、websocket 和 sse 都比 webflux 简单其实
kaneg
1 月 31 日
@CaspianJou synchronized 问题据说已经在 Java 25 被解决了。
Gress
1 月 31 日
用 JDK25 虚拟线程
coolmenu
2 月 1 日
iot 以前选择 erlang/elxir 的比较多。。。
ccw4wcc
2 月 2 日
个人感觉 webflux 对水平要求还是有一点的,不太易用,不太好维护
flmn
2 月 2 日
虚拟线程出来后,webflux 没有意义了
Hudiebbk
2 月 2 日
虚拟线程,用起来性能跟 webflux 差不多了,要是真要 webflux 可以考虑 vertx

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

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

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

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

© 2021 V2EX