Я работаю во встроенных системах и системах программирования для аппаратных интерфейсов на сегодняшний день. Для удовольствия и личных знаний, недавно я пытался узнать больше о программировании сервера после того, как мои руки были влажными с Erlang. Я возвращаюсь назад и думаю о серверах из перспективы C++/Java, и теперь мне интересно, как масштабируемые системы могут быть построены с использованием таких технологий, как C++ или Java.Разработка и внедрение сервера
Я читал, что из-за переключения контекста и ограниченной памяти обработчик потока на клиенте нереалистичен. Обычно создается пул потоков, и для обработки запросов используется сочетание рабочих потоков и асинхронного ввода-вывода. Интересно, в первую очередь, как определить размер пула потоков? Нужно ли просто измерять и находить оптимальный баланс? В конце концов, когда система масштабируется, возможно, для обработки запросов требуется более одного сервера. Как управляются запросы через многоуровневые серверы, обрабатывающие большую клиентскую базу?
Я просто ищу какое-то направление, в котором я мог бы больше узнать и найти ответы на мои вопросы. В какой области информатики я буду искать дополнительную информацию в этой области? Существуют ли какие-либо шаблоны проектирования для этой области вычислений?
Я ценю этот вопрос, но, возможно, это четыре или пять квестов, завернутых в один. – ojblass