文章0 | 阅读 9678 | 点赞0
随着zuul不再维护,spring官方有意推Spring Cloud Gateway为下一代网关,由于Spring Cloud Gateway是通过Webflux实现的,完全使用了响应式web框架,同时Webflux又是通过Reactor实现的,因此为了更好是使用Spring Cloud有必要学习一下响应式编程,Webflux,Reactor
开发人员一般都会写一些监控的脚本,通过定时的访问,来确定一写事件是否发生,发生的话将内容通过邮件发送。如果对时间粒度要求宽泛还好,如果要求比较严格,就要一直访问,造成不必要的资源浪费。为了解决这种命令式编程的痛点,响应式编程应运而生,通过设置消息的订阅者和消息的发送者来解决这个问题,通过事件驱动,一旦事件发生,发送者将消息推送给订阅者。
举个收外卖的例子:
你今天点了一个外卖,但是你不知道何时会送达,小区外卖进不来,你只能到小区门口去拿:
根据上面的例子明白响应式编程这种事件驱动的好处。
而且响应式将发和收拆开将同步过程拆成异步的过程,对合理利用资源提升效率更有帮助
Reactor 3框架是Pivotal(Spring 母公司)基于Reactive Programming思想实现的。Spring Cloud 使用的响应式web框架 Webflux由Reactor实现。
reactor3 优势特点:
通过idea创建新项目,使用gradle管理项目依赖:
dependencies {
implementation 'org.junit.jupiter:junit-jupiter-api:5.2.0'
implementation 'org.slf4j:slf4j-api:1.7.25'
implementation 'org.projectlombok:lombok:1.18.12'
implementation 'ch.qos.logback:logback-classic:1.2.3'
implementation 'io.projectreactor:reactor-core:3.3.8.RELEASE'
implementation 'io.projectreactor:reactor-test:3.3.8.RELEASE'
implementation 'io.projectreactor.addons:reactor-extra:3.3.8.RELEASE'
}
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://fanfanzhisu.blog.csdn.net/article/details/107816932
内容来源于网络,如有侵权,请联系作者删除!