有谁的公司已经用 WebFlux 替换了 SpringMVC 吗

296 天前
 DanLi

使用效果怎么样?性能有没有提升很多

新项目用还是花大功夫替换了旧业务代码

还是只有某一部分用,比如网关用,业务模块不用

5300 次点击
所在节点    Java
32 条回复
ZZ74
295 天前
我就两个字+一句话。劝退+别给自己找不痛快了。
v2orz
295 天前
@YIERIC
问题不止一个,有些官方解决了,更多的还挂着。
我印象比较深刻的一个,未捕获的异常就会导致堆外内存溢出。(哪怕有全局异常处理)

你可以用 memory 为关键词搜一下 issue ( Reactor 、SpringCloud Gateway 的仓库)
nxcdJaNnmyF9O90X
295 天前
用 golang 吧 心智成本低
BBCCBB
295 天前
java 有协程, 极度需要性能的场景用 callback, 其他场景用协程
billbob
295 天前
已经用了好几年了,从 18 年所有项目都是 WebFLux
zed1018
295 天前
@Ayanokouji hhhh ,还真是这样,辛辛苦苦在 callback 地狱挣扎,结果 loom 出来了
DanLi
295 天前
@billbob 你们公司的业务场景是怎样的?没遇到什么问题吗
zhenjiachen
295 天前
我们就网关用了 gateway ,但是使用 kotlin Coroutine ,很少写回调。感觉就除了内存低,没啥其它优势,数据库驱动不支持 java 的原生,只能用 r2dbc ,所以好多业务只能手写 sql 。现在 loom 也出来了,而且 gateway 也有 mvc 版本了,不过 mvc 版本还不完善,后续可能会迁移到 mvc 版本。
Goooooos
295 天前
用 vertx 做的网关模块,性能完全满足需求
看果 webflux ,但写法太复杂,遂放弃
frandy
295 天前
在 2020 年左右用过一段时间反应式编程,不推荐用来写业务,复杂的页面,跟意大利面条一样,各种 flatmap,一个简单的获取都需要花很大功夫来弄,当时用的是还是 rxjava,就很难受.最后那个项目维护太复杂了.
之后归纳总结,考虑了下适用的场景,反应式编程在前端可能更合适,防止页面或者窗口阻塞,然后流式的传输,中间做桥进行转接也不错,类似楼上说的网关.
ruooooooli
295 天前
@holulu 你好,请问写业务有最佳实践可以分享一下嘛
billbob
294 天前
@DanLi 没问题啊,mysql,pg 都支持 r2dbc,用起来很爽

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

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

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

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

© 2021 V2EX