Книги по созданию масштабируемых веб-приложений? (Производительность/настройка БД, работа в сети, общая производительность и т. д.)

После окончания школы компьютерных наук и выхода в «реальный мир» в качестве инженера-программиста, работающего над веб-приложениями, я был ошеломлен объемом информации, которую нужно узнать о правильном масштабировании веб-приложений. Некоторые темы/вопросы, которые недавно появились у меня:

  • РСУБД против хранения неструктурированных данных.
  • Преимущества и недостатки шардинга для баз данных, поисковых индексов и т. д.
  • Какие сетевые файловые системы масштабируются? Какие нет?
  • Стоимость соединений HTTP и БД.
  • Доставка статического контента, почему бы не хранить изображения в базе данных и т. д.
  • Почему лучше использовать один пул потоков, чем постоянно создавать новые?
  • Подробнее о memcached и альтернативах.
  • Общие операции, связанные с процессором, и операции, связанные с вводом-выводом.
  • Узкие столы...
  • Лучшее понимание файлов cookie...
  • WSDL, REST, SOAP...
  • ORM, Спящий режим...
  • Миллиард других модных словечек...

Я ищу книгу или небольшой набор книг, которые будут охватывать широкий набор тем, связанных с созданием масштабируемых веб-приложений, включая темы, не относящиеся к веб-приложениям. Хотя я могу легко найти конкретную информацию по каждой из вышеперечисленных тем, я ищу книги, которые (а) поднимут больше связанных тем/вопросов, с которыми я еще не сталкивался, и (б) свяжут темы вместе как насколько это возможно.

Кажется, некоторые ключевые категории для меня:

  • Производительность и настройка БД
  • Масштабируемость сетевых серверов/файловых систем/связи
  • Общие вопросы производительности и параллелизма
  • Общие веб-темы (например, файлы cookie)
    (хотя это не полный список, и вы можете подумать о более важных категориях для кого-то в моей ситуации).

Я также хотел бы больше сосредоточиться на основах, чем на мельчайших подробностях новейших и лучших технологий. Я думаю, что важно, чтобы я изучил свои инженерные основы, прежде чем глубоко погрузиться в какую-то случайную новую технологию.

Итак, вернемся к вопросу: есть ли книги, которые вы бы порекомендовали кому-то в моей ситуации? Любые другие методы для быстрого создания широты знаний?

Спасибо!


person Novice Engineer    schedule 29.07.2010    source источник


Ответы (2)


Несколько хороших книг о масштабируемости: Искусство масштабируемости Правила масштабируемости

Создание масштабируемых веб-сайтов Разработка крупных веб-приложений http полный справочник Высокая производительность MYSQL

Настройка производительности Oracle для настройки базы данных Oracle Настройка производительности Java для приложений Java

BigData от Мэннинга

У Udacity есть курс о создании масштабируемых веб-приложений.

С уважением

person Jorge DeFlon Developer    schedule 17.08.2014