поддерживает ли очередь akka единицу заказа, которая доступна в очереди weblogic jms

мы изучаем перенос приложения из weblogic для использования akka. приложение использует функцию единицы заказа, предлагаемую очередью weblogic jms, чтобы убедиться, что сообщения для одного и того же заказа (идентифицированного идентификатором заказа) последовательно обрабатываются компонентом, управляемым сообщениями. вопросы: поддерживает ли AKKA эту функцию? как лучше всего это реализовать, если у AKKA его нет в наличии?


person wang.aurora    schedule 30.01.2013    source источник


Ответы (1)


Актёр Akka обрабатывает свои сообщения последовательно, поэтому просто отправляйте сообщения, требующие последовательного выполнения, тому же актору, и всё будет в порядке.

person Viktor Klang    schedule 31.01.2013
comment
в моем случае это означает, что мне нужно создать актера для каждого заказа. Поскольку приложение обрабатывает огромное количество заказов в день, а заказы могут быть длительными, приложению также необходимо создавать огромное количество участников и управлять ими. Я сомневаюсь, что это будет практично в производстве. - person wang.aurora; 01.02.2013
comment
Зачем вам нужно создавать одного актера для каждого заказа? Вам просто нужно убедиться, что один и тот же номер заказа поступает к одному и тому же актеру — используйте Consistent Hashing Router (см. раздел «Маршрутизация» в документации Akka). - person Viktor Klang; 01.02.2013
comment
предположим, что я использую согласованный маршрутизатор хеширования для маршрутизации сообщений (например, M1, M2, M3) для заказа ORD1 определенному актеру A1. если A1 обрабатывает M1, я не уверен, как заставить A1 не обрабатывать M2 или M3 до завершения обработки M1. - person wang.aurora; 01.02.2013
comment
Актер может обрабатывать только одно сообщение за раз. - person Viktor Klang; 03.02.2013