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