У меня есть приложение, которое использует spray-servlet
для загрузки моего пользовательского маршрута с использованием распыления с помощью spray.servlet.Initializer
. Запросы затем передаются моему Актеру через spray.servlet.Servlet30ConnectorServlet
.Конфигурирование спрей-сервлетом во избежание узкого места запроса
Из того, что я могу собрать, то Servlet30ConnectorServlet
просто извлекает свою Актеру из ServletContext, что Initializer
был установлен при запуске приложения, и вручает HttpServletRequest
получить метод моего актера. Это заставляет меня думать, что только один из моих экземпляр моего Актера должен будет обрабатывать все запросы. Если мой Актер блокирует свой метод receive
, последующие запросы будут стоять в очереди, ожидая его завершения.
Теперь я понимаю, что я могу запрограммировать свой Маршрутный актер для использования detach()
или complete
, который возвращает будущее, однако большая часть документации никогда не намекает на необходимость этого.
Если мое вышеприведенное предположение верно (отдельный экземпляр Actor обрабатывает все запросы), существует ли способ настроить Servlet30ConnectorServlet
, чтобы, возможно, балансировать входящие запросы среди нескольких экземпляров моего участника маршрутизации, а не только одного? Или это что-то, что мне придется катить себя подклассированием Servlet30ConnectorServlet
?