Я не очень понимаю модель динамического и рабочего процессов Heroku, относящуюся к одному процессу, но многопоточному Java-серверу.Сопоставление модели кедра герою с многопоточным приложением
Например: Как узнать (для одного дино), сколько процессоров доступно для моих фоновых потоков? Нужно ли использовать что-то вроде RabbitMQ и создавать отдельный процесс (приложение) для каждой задачи фоновой обработки и общаться между сервером и этими? Кажется, немного переборщик для некоторых запланированных задач с использованием Thread Cached Executors. Должны ли все фьючерсы меняться на межпроцессные фьючерсы?
Я думаю, это сводится к этому вопросу. Могу ли я больше не писать многопоточный сервер и масштабировать процессоры, доступные для моего серверного процесса, чтобы удовлетворить мою активность потоков? Или мне нужно реорганизовать мою архитектуру для использования отдельных процессов для параллелизма? Если первый, мне нужны рабочие или просто несколько динамиков?
Спасибо.
Спасибо! Мне сложно найти, как настроить эти модели потоков. Можете ли вы указать мне документ? –
Здесь нет ничего специфического в Героку, поэтому любой учебник по параллелизму Java будет работать. Вот хорошее место для начала: http://www.vogella.com/articles/JavaConcurrency/article.html. Он проходит через всю гамму, включая потоки нитей низкого уровня и блокировки, которые вы, вероятно, захотите избежать на практике в пользу более новых абстракций в пакете 'java.util.concurrent', но хорошо их понимать, потому что они лежат в основе всего система. Если вы хотите еще более абстрактные абстракции с актерами, взгляните на [Akka] (http://akka.io/). – ryanbrainard
... и если вы хотите посмотреть, как работает многосерийный web-рабочий подход от Heroku с Java на Heroku, посмотрите https://devcenter.heroku.com/articles/asynchronous-web-worker -model-using-rabbitmq-in-java – ryanbrainard