Базовым шаблоном архитектуры является «архитектура без общего доступа». Идея состоит в том, чтобы построить наиболее интенсивно используемые части архитектуры таким образом, чтобы она могла быть распределена, и чтобы распределенные одноранговые узлы не должны были ничего знать о других одноранговых узлах, поэтому им не нужно общаться друг с другом. Таким образом, их можно масштабировать, добавляя других пиров.
Обычно для этого требуется некоторая маршрутизация трафика (балансировка нагрузки) для подачи общих компонентов и некоторая синхронизация состояния и / или состояния.
«Классическая» архитектура для этого - один или несколько баламсеров нагрузки, распределяющих трафик по нескольким серверам приложений «без разделения ресурсов», которые работают с общей базой данных. Как правило, оборудование сервера приложений довольно дешево, а оборудование базы данных - один или два больших утюга в зависимости от нагрузки.
В наши дни все больше и больше решений также разбивают базу данных на части, чтобы масштабировать ее. В конечном итоге это приводит к распределенным изолированным базам данных, в которых существует несколько узлов базы данных, и каждый узел содержит только подмножество данных.