Ich verwende die Java-Bibliothek Jedis ontop einer Redis-Warteschlange, die ich als Producer/Consumer-Warteschlange verwende. Es war einfach einzurichten und funktioniert gut.Jedis als Leistung der Nachrichtenwarteschlange
Consumer Code unten
List<String> messages = jedis.blpop(0, redisQueueName);
String message = messages.get(1);
//do some stuff
Ich bin auf der Suche, um zu sehen, ob ich die Leistung beschleunigen kann, wie ich eine große Menge an Produkten habe in der Redis Warteschlange sitzen, abgeholt zu werden. Ich habe meinen benutzerdefinierten Verarbeitungscode zeitlich abgestimmt und es dauert nicht lange (20000 Nanosekunden).
Wäre es empfehlenswert, mehrere Artikel gleichzeitig aus Redis zu ziehen und in einem Stapel zu verarbeiten? Oder sollte ich besser den Redis-Server für bessere Leistung optimieren?
Ihr Problem könnte in der Tat mit Redis in IO sein als bei der Verarbeitung - ich würde sie in Stapeln greifen; ohne irgendeine Art von Transaktion können Sie trotzdem Nachrichten verlieren; Die Tatsache, dass Sie Redis verwenden, deutet darauf hin, dass dies kein Problem für Sie ist. –