当前位置: 首页 > 知识库问答 >
问题:

单线单熔剂

苏宏逸
2023-03-14
Flux<Foo> flux = dao.getAll();
Flux<Foo> fluxAfterProcessing = flux.flatMap(foo -> monoFilters.map(...));
Mono<Tuple2<MyRequest, MyResponse>> mono = 
                      monoFilters.flatMap(filter -> monoRequest.map(...))
                                 .zipWhen(request -> api.send(request))
                                 .flatMap(tuple -> monoResponseFilters.map(...));
return fluxAfterProcessing.flatMap(foo -> 
                       monoResponseFilters.zipWith(mono).map(...))

共有1个答案

商飞航
2023-03-14

让我们假设这个任务如下所示:

  • 从数据库获取一些值
  • 当所有值到达时,将它们包装在请求中并发送出去
  • 用响应压缩结果

然后这就引出了类似这样的东西:

Flux<Foo> foos = dao.getAll();
Mono<List<Foo>> everything = foos.collectList();

Mono<MyRequest> request = everything
    // collect the data into another Mono, then into request
    .map(list -> list.stream().map(Foo::getData).collect(toList()))
    .map(data -> new MyRequest(data));

return request.zipWhen(request -> api.send(request));
Flux<Data> data = dao.getAll().map(Foo::getData);
Mono<MyRequest> request = data.collectList().map(MyRequest::new); 
 类似资料:
  • 市场人员可在线索表单基于不同的市场活动需要创建不同的线索收集表单,如会议报名表单、免费试用表单、获客文章表单等营销场景表单; 线索表单暂不支持单独使用,只可以在市场活动下或与其他内容中关联使用; 1. 新建线索表单 访问【内容中心】-【线索表单】 ,点击【新建表单】,进入线索表单新建页面; 1)配置表单 在页面左侧组件区域选择所需表单组件,拖拽至正中区域的表单画布上; 点击画布上的字段组件在页面右

  • 微服务里熔断是绝不可少的,而C#里最有名的就是Polly里,Uragano默认就采用了Polly。 启用熔断及全局策略配置 service.AddUragano(context.Configuration, builder => { builder.AddServer();

  • 我在对应用reduce操作时遇到了一些问题,我想将其简化为。每个AdProvider提供的优惠作为流量,我想使用流来获得所有优惠从每一个他们和连接到一个管道。我怎么可能用Reduce做到这一点?

  • 熔断架构概述。 优先级路由架构概述。 可以为每个优先级的定义单独指定熔断设置。关于不同优先级如何使用,详见[配置指南]章节。 { "default": "{...}", "high": "{...}" } default (optional, object) 设置默认优先级的配置对象。 high (optional, object) 设置高优先级的配置对象。 优先级设置 { "max

  • 熔断架构概述 v1 API 文档 v2 API 文档 运行时配置 所有的断路设置都可以根据集群名称定义所有运行时配置。他们遵循以下命名规则circuit_breakers.<cluster_name>.<priority>.<setting>,其中cluster_name表示每个集群的名称,可以在Envoy配置文件中进行设置。也可用的运行时配置覆盖Envoy配置文件中设置的值。 返回 上一级

  • 熔断是分布式系统的重要组成部分。快速失败并尽快给下游施加压力,几乎总是好的。这是Envoy网格的主要优点之一,Envoy在网络级别实现强制断路限制,而不必独立配置和编写每个应用程序。Envoy支持各种类型的完全分布(不协调)的熔断: 群集最大连接数:Envoy将为上游群集中的所有主机建立的最大连接数。实际上,这仅适用于HTTP/1.1群集,因为HTTP/2使用到每个主机的单个连接。 群集最大挂起请