2013-04-03 2 views
1

Я разрабатываю приложение для запуска в качестве инструмента командной строки, и я использую Scala/Akka. Я хотел бы, чтобы этот инструмент командной строки использовал архитектуру клиент/сервер. Когда первый экземпляр этого инструмента запущен, он запускает экземпляр сервера в фоновом режиме, который фактически выполняет всю обработку. Если пользователь открывает несколько окон терминала и запускает больше экземпляров этого приложения, он будет подключаться к существующему серверу, а не запускать новый. В основном мне нужно, чтобы несколько клиентов разговаривали с одним сервером. Можно ли это сделать с удалением Akka, или мне нужно запустить более классическую клиент-серверную архитектуру с брокером сообщений где-то там?Акка удален с несколькими клиентами?

ответ

1

Да, это может быть сделано с помощью Akka.

Вы хотите настроить «сервер» ActorSystem с помощью известного порта. Затем используйте system.actorFor в клиентах, чтобы получить ActorRef актеру, запущенному на сервере.

Убедитесь, что имя хоста, которое вы используете в конфигурации, - это то же имя хоста, которое вы используете в пути, который вы используете в actorFor.