Совместное использование состояний ASP.NET между несколькими приложениями
-
25-09-2019 - |
Вопрос
Лучше ли для коллекции веб-приложений ASP.NET, чтобы поделиться одной и той же базой данных сеанса, или у каждого у каждого есть свои собственные?
Если нет существенного разницы, наличие единой базы данных будет предпочтительнее из-за более легкого обслуживания.
Задний план
У моей команды есть ассортимент веб-приложений ASP.NET, все написанные в Monorail 1.1 или ASP.NET MVC 1.0. Каждое приложение в настоящее время использует выделенную базу данных состояния сеанса. Я работаю над добавлением нового сайта в этот список и обсуждаю, должен ли я создать еще одну новую базу данных сеанса или просто разделить существующий с другим приложением.
Решение
Я бы проголосовал за разделение здесь.
Я не думаю, что вы обязательно найдете, что это «легкое обслуживание» в долгосрочной перспективе, чтобы все в одну базу данных. Если каждое приложение использует ту же таблицу и экземпляр базы данных, вы не можете отделить одно приложение из пула без дублирования всей базы данных. Что если одно приложение идет вирусным и необходимо перемещать на свой собственный серверный кластер?
Для объема работы требуется для копирования базы данных в новый экземпляр, вы будете разделить проблемы приложений, что облегчает их отладку индивидуально, более масштабируемой и гораздо более портативной.
Другие советы
Оригинальный вопрос был «делить ту же базу данных сеанса». Я вижу это как отличное от базы данных приложения. Сеанс ASP для всех приложений будет таким же. Вы не будете изменять схему для любого из таблиц сеансов, SP-и т. Д. ... Мы проводим ряд приложений, каждый из которых со своей собственной базой данных для данных репликации и одной общей базы данных для сеанса.