计划将Spring 4项目迁移到Spring 5。
我浏览了关于Spring 5的功能,它有一些有趣的功能,如Webflux,Reactive Programming ...这可能会提高我的应用程序的性能。
我不确定迁移会有多困难。
Reg项目的复杂性:1)更复杂的项目,其中有更多的APi暴露和消费。 2)与Cassandra DB连接。 3)项目规模有点大。
任何与移民困难有关的建议都将受到高度赞赏。
如果您想从Spring 4迁移到5并开始使用Spring Webflux等功能,基本上您将不得不重写大部分代码。
你可以选择继续使用现有的注释或使用Router Functions(在我看来,它太复杂了,与传统的注释方法相比,不会给你太多的灵活性)。
您还必须将所有返回一个对象的接口从MyCustomClass
更改为Mono<MyCustomClass>
,从Collection<MyCustomClass>
更改为Flux<MyCustomClass>
。您的DB可能不是关系型的,因为所有现有驱动程序都是阻塞的。为了获得最大的WebFlux,您需要使用Reactive Databases.
一般来说,您最好重写您的应用程序,而不是迁移到WebFlux。
你真的需要迁移吗?您是否遇到性能问题?如果当前的应用程序没有遇到任何问题,您可以考虑在WebFlux中创建新的应用程序。
看看Josh Long的这个article。也许你根本不需要WebFlux。
我一般都是Spring的忠实粉丝,但是使用WebFlux并不容易,并且会有一些陡峭的学习曲线。