나는 생산자/소비자 대기열로 사용하고있는 Redis 대기열의 Java 라이브러리 Jedis ontop을 사용하고 있습니다. 설정하기 쉽고 멋지게 작동합니다.메시지 대기열 성능으로서의 Jedis
List<String> messages = jedis.blpop(0, redisQueueName);
String message = messages.get(1);
//do some stuff
아래
소비자 코드는 내가 뽑힐 기다리고 레디 스 큐에 앉아 항목의 많은 양을 가지고 내가 성능을 향상 할 수 있는지 찾고 있어요. 내 사용자 지정 처리 코드 시간이 초과되었으며 너무 오래 걸리지 않습니다 (20000 나노 초).
Redis에서 한 번에 여러 항목을 가져 와서 일괄 적으로 처리하는 것이 가장 좋습니다. 아니면 더 나은 성능을 위해 Redis 서버를 조정하는 것이 좋습니다.
귀하의 문제는 실제로 Redis와 IO 사이에있을 것입니다 - 일괄 적으로 잡을 것입니다; 어떤 종류의 거래도없이 어쨌든 메시지를 잃을 수 있습니다. Redis를 사용하고 있다는 사실은 이것이 당신에게 문제가되지 않는다는 것을 암시합니다. –