Я использую RabbitMQ + Spring AMQP + EventAus Guava для автоматической регистрации актеров-подобных мессенджеров с использованием Guava's EventBus for pattern matching полученных сообщений.
Сходство с весной AMQP и Akka является сверхъестественным. Весна AMQP's SimpleMessageListenerContainer + MessageListener в значительной степени эквивалентна Актеру.
Однако для всех намерений и целей RabbitMQ более мощный чем Акку в том, что он имеет много клиентов реализации на разных языках, обеспечивает сохранение (долговечные очередей), топологической маршрутизации и штыревые QoS алгоритмы ,
Это говорит о том, что Akka более удобна и, по идее, Akka может делать все вышеперечисленное, а некоторые люди имеют письменные расширения, но большинство из них просто используют Akka, а затем Akka доставляют сообщения через RabbitMQ. Также Spring AMQP SimpleMessageListener контейнер является тяжелым, и его неясно, что произойдет, если вы создали пару миллионов из них.
Оглядываясь назад, я бы предпочел использовать Akka для RabbbitMQ вместо Spring AMQP для будущих проектов.
RabbitMQ является брокером AMQP, то есть транспортным средством. Akka - это инструментарий параллелизма/масштабируемости/отказоустойчивости. Вы можете использовать AMQP в качестве почтовых ящиков Akka Actor или в качестве транспорта Akka. –
Спасибо за ответ, просто для того, чтобы сделать клевету, если у меня есть несколько приложений java, я хочу, чтобы они общались, мне понадобится rabbitmq. Например, 2 отдельных игры 2 приложения, отдельные машины, акка не могут быть объединением, мне нужны jms или rabbitmq, это правильно? –
Вы можете «присоединиться» к JVM, используя удаленных участников, они имеют транспорт по умолчанию, который основан на Netty. –