Архитектура без общего доступа
PHP имеет Ничего общего
Архитектура
- Как и HTTP, каждый запрос отличается
- Общие данные передаются на уровень хранилища данных
- Избегайте передних контроллеров
Это дает нам:
- Возможность балансировки нагрузки
- Невидимое переключение с одного центра обработки данных на другой
- Лучшая модульность приложений
- Проще разрабатывать и отлаживать
двойная проверка блокировки
но я не уверен, как реализовать
двойная проверка блокировки.
Обычно за это отвечает слой базы данных. Стандарт MySQL (innodb) имеет, например, уровень строки блокировка (этого должно быть достаточно).
InnoDB блокирует на уровне строк
и запускает запросы как разблокированные
последовательное чтение по умолчанию, в
стиль Oracle.
Если этого недостаточно, SQL также имеет, например, транзакции , чтобы это произошло.
Books Online определяет транзакцию как
«последовательность операций, выполняемых как
единая логическая единица работы "
Вилочные процессы
Как и на слайдах, говорят, что PHP имеет архитектуру без разделения ресурсов (традиционную), что также подразумевает, что PHP НЕ имеет потока (модель) . Хотя вы можете скомпилировать ( не включен по умолчанию ) PHP, чтобы иметь поддержку fork процессов, которые могут взаимодействовать друг с другом. Когда вы также компилируете семафорные функции , вы можете делать такие вещи, как sem_acquire и sem_release . Но в целом это не относится к PHP.