Что происходит, когда несколько пользователей обращаются к одним и тем же данным в приложении, когда происходит сбой веб-приложения

Что произойдет, если несколько пользователей попытаются получить доступ к одним и тем же данным в веб-приложении. (например, 500 или 1000 пользователей приведут к сбою приложения.

Что было бы лучшим решением для разработки приложения, к которому одновременно может иметь доступ n количество пользователей.

Что такое распределенные базы данных?


person user3300517    schedule 14.03.2014    source источник


Ответы (1)


Ответ на ваш первый вопрос: (отсюда.)

Двумя важными механизмами, позволяющими одновременно работать многим пользователям, являются веб-кэширование и балансировка нагрузки. Как описано в этих статьях Википедии:

http://en.wikipedia.org/wiki/Web_cache http://en.wikipedia.org/wiki/Load_balancing_(computing)

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

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

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

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

В основном одни и те же данные помещаются на разные диски, чтобы большое количество запросов не приводило к узким местам.

Но, даже если это звучит просто, реальная реализация становится намного сложнее, когда размеры базы данных увеличиваются (например, БД Twitter или БД FB). Всякий раз, когда добавляется новая информация, система управления базами данных должна следить за тем, чтобы она обновлялась на всех других дисках. (Репликация).

Более простой (и более медленный) способ сделать это — время от времени копировать все диски (дублирование).

Распределенные системы управления базами данных делятся на два основных подкласса:

  1. Однородная СУБД
  2. Гетерогенные СУБД

Подробнее о распределенных базах данных читайте здесь.

person Sunny R Gupta    schedule 14.03.2014