Чтобы контролировать, как много и как быстро сообщения поступают в приложение Spring, я мог бы реализовать приемник с A). механизм связывания опроса (связанный) к внешнему источнику), который налагает расписание на приток сообщений, как в этом примере , где сообщение принимается каждую секунду (1000 мс):
@Scheduled(fixedRate = 1000)
public void poller() {
destIn.poll(this.messageHandler, ParameterizedTypeReference.forType(UserMessage.class));
}
или B). реактивный поток (который в принципе служит аналогичной цели, применяя противодавление и предотвращая переполнение любой конечной точки ниже по потоку), как в этом примере :
Flux<AcknowledgeablePubsubMessage> flux
= this.reactiveFactory.poll("exampleSubscription", 1000);
Мой вопрос: когда что использовать? Есть ли варианты использования, которые я бы предпочел один другому?
(В обоих примерах используется Google Cloud Pub / Sub, который также имеет свой собственный способ управления потоками. Мне интересно, как все они играют вместе.)