У меня есть 1 000 000 идентификаторов, и вам нужно вызвать REST API один раз в день для каждого пользователя. Как я могу использовать Camel для отправки пакетных HTTP-запросов?Как использовать запрос на отправку веб-сайта верблюда?
Моим текущим решением является создание HTTP-компонента для каждого ID с использованием Quartz. Но он создаст 1000 000 кварцевых рабочих мест, производительность плохая.
У меня есть две идеи:
Если верблюд может обеспечить пакетное API, я мог бы использовать, чтобы отправить 1,000,000 запросы на тот же URL, но с разными параметрами. Это одна Кварцевая работа. Поддерживает ли Camel этот API?
Каждый HTTP-запрос посещает только один раз и использует весенний график для управления . Но для каждого запроса Camel будет опросить сервер. Как я могу сделать, чтобы Camel только вызывал REST API один раз?
Коды здесь:
// ids is a List, contains 1,000,000 id
for (final String id : ids) {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from(String.format("quartz://%s/?cron=0+0+12+*+*+?", id))
.to(String.format("http:xxx.com?id=%s", id))
.to("file:to");
}
});
}
Любой пример? ваше значение означает изменение идентификатора с заголовком сообщения «CamelHttpQuery» может агрегировать несколько запросов на один? – terrymanu