В моем опыте с архитектурой mSOA, я никогда не видел
MULTIPLE (источник данных каждого экземпляра)
, который будет использоваться. Даже если вы планируете загружать его в большой степени, наиболее распространенные БД по своей природе поддерживают многопоточный доступ. Обычно узким местом (или самой медленной частью) системы БД является диск. Нам пришлось масштабировать наши кластеры несколько раз (относительно дешево, если вы находитесь в облаке, но масштабируемость также может стать проблемой, так как потребуется больше потоков для управления и выполнения масштабированной системы БД). Имейте в виду, что в некоторых СУБД используется временная БД (tempdb), которая используется всеми БД в этом экземпляре для сортировки, хэширования, временных переменных и т. Д. Многопоточность и разделение этих файлов tempdb можно использовать для повышения пропускной способности tempdb , тем самым улучшая общую производительность сервера.
С тех пор я работаю с Orchard. Должен сказать, что есть некоторые угловые случаи, когда ваши действия над одним экземпляром не полностью (и своевременно) синхронизированы. Это приводит к отказу доступа к ресурсам (сразу после регистрации события) даже после правильной проверки подлинности.
Я планирую скрыть несколько экземпляров позади балансировки нагрузки
Это хороший дизайн для вашего приложения серверов, поэтому использование БД кластера должны быть пригодны также. Стремясь к полному ответу, вы можете рассмотреть DWH, если у вас есть много услуг, и вы хотите иметь возможность проводить анализ данных и анализ со всех своих БД.