Я знаю, что могу использовать JMS и ActiveMQ, но мне действительно нужно что-то очень простое и без больших накладных расходов. Я провел несколько тестов с ActiveMQ, и мне не очень понравилась производительность очередей сохранения.
То, что я ищу, - это базовая реализация любой очереди блокировки с возможностью сохранения сообщения на жестком диске (в идеале), если достигнут некоторый предел размера. Затем он должен иметь возможность прочитать сохраненное сообщение с жесткого диска и, если возможно, прекратить запись нового на жесткий диск (восстановить в памяти).
Мой сценарий очень прост - сообщения (json) приходят из внешнего мира. Я делаю некоторую обработку, а затем отправляю их в другую службу REST. Проблема может возникнуть, когда целевая служба REST не работает или сеть между нами плохая. В этом случае готовые к работе события сохраняются в очереди, которая потенциально может заполнить всю доступную память. Я не хочу/нужно записывать каждое сообщение на HDD/DB - только те, которые не помещаются в память.
Благодарю вас!
something very simple
. Вы, вероятно, хотитеsomething reliable
. - person Alexander Pogrebnyak   schedule 06.03.2013