Ich muss die Nachrichten hochladen, die ich von einem Kafka -Thema zu S3 -Bucket anhöre. Die Verarbeitung der konsumierten Nachrichten und das Senden an ein anderes Thema ist das primäre Ergebnis des Dienstes. Das Hochladen auf S3 ist eher eine sekundäre Sache. Das Hinzufügen dieses Async -Upload -Schritts verlangsamt jedoch drastisch meinen Dienst. Es gibt mehrere Chargen, die mit dem Nachrichtenschlüssel unterschieden werden. Hier ist mein Beispielcode: < /p>
public class KafkaConsumer {
ExecutorService executorService = Executors.newFixedThreadPool(50);
@KafkaListener(topic = {"topic"})
public void listen(ConsumerRecord record) {
Object obj = processMsg(record.value());
sendToAnotherTopic(obj); // primary objective
executors.submit(() -> uploadToS3(obj, record.key()); // secondary objective
}
}
< /code>
Die erwartete Lautstärke ist in etwa 100.000 in 30 Minuten riesig. Jede Datei wäre weniger als 2 MB. Vorschläge zur Optimierung dieses weiter
S3 Upload -Optimierungsvorschläge | Java 17 ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post