powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Core Web server: вопрос по структуре
11 сообщений из 61, страница 3 из 3
ASP.NET Core Web server: вопрос по структуре
    #39954094
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Ролг Хупин
пропущено...


Вроде понимаю, но подробности вызывают вопросы:
Когда приложение стартует в Startup надо зарегистрировать все сервисы, независимо от тенанта, поскольку приложение стартует один раз для всех будущих запросов.
Например, MyDbContext должен быть зарегистрирован без Connection string, и уже потом на запросе от конкретного тенанта надо определить его стрку подключения и передать ее контексту.

Мало того, если предположить, что тенант Х работает с SQL Server, тенант У - с PostgreSQL, то им надо передавать тип сервера и строку подключения.
Это когда и как передавать? если бы пример кода или ссылку то было бы проще понять.
(Не о себе, о будущих юзерах-читателях форума забочусь )

Вы таки определились, как у вас будет: одна PostgreSQL база, или что?

Если одна, то не надо что-то там регистрировать без Connection string, а надо в запросы к БД добавлять ограничения по тенанту.

Сервисов, что в рамках одной установки работают то с SQL Server, то с PostgreSQL в глаза не видел.

Если вы определились с решением, то опишите его и начните реализовывать.
Бум решать реальные проблемы, а не выдуманные.



Отдельная база на каждого тенанта.
А вариант тенант1 с SQL Server, тенант2с PostgreSQL в одном приложении - может и нет смысла усложнять, но в общем не проблема.
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954164
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ролг Хупин
Дмитрий Мух
пропущено...

Вы таки определились, как у вас будет: одна PostgreSQL база, или что?

Если одна, то не надо что-то там регистрировать без Connection string, а надо в запросы к БД добавлять ограничения по тенанту.

Сервисов, что в рамках одной установки работают то с SQL Server, то с PostgreSQL в глаза не видел.

Если вы определились с решением, то опишите его и начните реализовывать.
Бум решать реальные проблемы, а не выдуманные.



Отдельная база на каждого тенанта.
А вариант тенант1 с SQL Server, тенант2с PostgreSQL в одном приложении - может и нет смысла усложнять, но в общем не проблема.

О, тут могу рассказать как у нас.
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954191
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Просто не видел такого никогда.
Чтобы одно и тоже приложение, одна и таже бизнес-логика, но вот у одного клиента сделки сохраняются в SQL Server, а у другого в PostgreSQL.

В чём может быть смысл?


Если это SaaS, то смысла нет. Если это решение, которое разворачивается на ресурсах заказчика, или требуется обеспечить такую возможность, то смысл есть. У кого-то закуплены лицухи на Oracle, у кого-то на MS SQL, а кто-то содержит Postgres Pro Enterprise.

Поддержка разных СУБД это всегда большой плюс, так как предоставляет вендору выбор и не принуждает вводить в свою экосистему лишнюю СУБД. Но это и не бесплатно :)
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954200
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Дмитрий Мух
Просто не видел такого никогда.
Чтобы одно и тоже приложение, одна и таже бизнес-логика, но вот у одного клиента сделки сохраняются в SQL Server, а у другого в PostgreSQL.

В чём может быть смысл?


Если это SaaS, то смысла нет. Если это решение, которое разворачивается на ресурсах заказчика, или требуется обеспечить такую возможность, то смысл есть. У кого-то закуплены лицухи на Oracle, у кого-то на MS SQL, а кто-то содержит Postgres Pro Enterprise.

Поддержка разных СУБД это всегда большой плюс, так как предоставляет вендору выбор и не принуждает вводить в свою экосистему лишнюю СУБД. Но это и не бесплатно :)

Погоди, мы разбираем мультитенант решение, в котором приложение одно, развёрнутое в определённой ОС.
А вот хранилища типа на выбор.

Приходит к нам новый клиент, мы ему говоторим, что вот вам оно, приложение.
Данные, где хранить будете? Если в SQL Server, то с вас такой прайс, а если в Postrgers, то такой.

Для меня это какая-то новая модель, чесслово :)
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954207
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Погоди, мы разбираем мультитенант решение, в котором приложение одно, развёрнутое в определённой ОС.
А вот хранилища типа на выбор.

Приходит к нам новый клиент, мы ему говоторим, что вот вам оно, приложение.
Данные, где хранить будете? Если в SQL Server, то с вас такой прайс, а если в Postrgers, то такой.

Для меня это какая-то новая модель, чесслово :)


Ну ок. Есть пара идей, где и в этом тоже будет смысл.

1. Всё те же лицухи. И сейчас можно прикупить шаред СУБД. Цена сервиса может варьироваться от СУБД.
2. Решение SaaS, хорошо. Но также может потребоваться и BI с прямым доступом к БД или отчётной копии БД. А у заказчика есть свои BI-щики только на XxxxSql.
3. О чём я говорил, решение может предлагать переезд на мощности заказчика, как потенциальную возможность.

Т.е. смысл найти можно, но насколько это будет оправдано, если помножить на затраты.
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954212
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Дмитрий Мух
Погоди, мы разбираем мультитенант решение, в котором приложение одно, развёрнутое в определённой ОС.
А вот хранилища типа на выбор.

Приходит к нам новый клиент, мы ему говоторим, что вот вам оно, приложение.
Данные, где хранить будете? Если в SQL Server, то с вас такой прайс, а если в Postrgers, то такой.

Для меня это какая-то новая модель, чесслово :)


Ну ок. Есть пара идей, где и в этом тоже будет смысл.

1. Всё те же лицухи. И сейчас можно прикупить шаред СУБД. Цена сервиса может варьироваться от СУБД.
2. Решение SaaS, хорошо. Но также может потребоваться и BI с прямым доступом к БД или отчётной копии БД. А у заказчика есть свои BI-щики только на XxxxSql.
3. О чём я говорил, решение может предлагать переезд на мощности заказчика, как потенциальную возможность.

Т.е. смысл найти можно, но насколько это будет оправдано, если помножить на затраты.

То есть мы даём клиенту прямой доступ к БД. Интересно.

Почему тогде просто не развернуть сервис на его инфраструктуре?
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954213
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

ты сам всегда топишь за то, что хорошие решения на дороге не валяются.
Их кто-то уже подобрал и делает на этом бабки.

Сервис у нас, а СУБД ваша, что-то я не видел такого :)
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954220
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
То есть мы даём клиенту прямой доступ к БД. Интересно.

Почему тогде просто не развернуть сервис на его инфраструктуре?


Ну не совсем прямой. Скорее к копии (зеркалу), и то не всей, данные инфры для отчётов не нужны. И только для чтения. Для отчётов это нормально. Не знаю как у вас, но в энтерпрайзе зачастую отчёты это одна из целевых задач ИС.

Развернуть сервис на инфре заказчика можно, если эта инфра у него есть. А также табун спецов, которые его обслуживают :) В этом же и смысл SaaS, -- экономия.


Дмитрий Мух
ты сам всегда топишь за то, что хорошие решения на дороге не валяются.
Их кто-то уже подобрал и делает на этом бабки.

Сервис у нас, а СУБД ваша, что-то я не видел такого :)


Не, я только про отчёты говорю. Ещё ETL до кучи. И это не мои домыслы, у нас есть 3 подрядчика и собственные программные системы. И это всё со всем интегрируется. Часть инфры у подрядчика, часть инфры у нас, но обслуживается подрядчиком, также есть подряд только на разработку, остальное всё у нас. Ну и мы ещё подрядчиком выступаем местами.

Хорошие решения в моём понимании подразумевают прозрачность :)
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954251
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

отчёты - это уже другой сервис, ты же понимаешь
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954279
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Ролг Хупин
пропущено...



Отдельная база на каждого тенанта.
А вариант тенант1 с SQL Server, тенант2с PostgreSQL в одном приложении - может и нет смысла усложнять, но в общем не проблема.

О, тут могу рассказать как у нас.

Значит так.

В этом варианте надо связать определённого тенанта с определённой базой.
Делается это или некой функцией, или хранится в некой таблице, коллекции, конфиге.
Что по сути тоже функция (согласно общей алгебре) :)

Мы храним информацию о том, на каком сервере и какой базе находятся данные определённого аккаунта (организации, тенанта) в коллекции MongoDB и кэшируем в Memcached бакете.
Тот сервис, где реализован подход "Отдельная база на каждого тенанта", у нас использует MongoDB.

Соответственно в начале запроса достаём эту информацию, кладём в контекст выполнения.
И когда в рамках последнего необходимо что-то получить из данных, то формируем подключение с нужными параметрами.
...
Рейтинг: 0 / 0
ASP.NET Core Web server: вопрос по структуре
    #39954985
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Дмитрий Мух
пропущено...

О, тут могу рассказать как у нас.

Значит так.

В этом варианте надо связать определённого тенанта с определённой базой.
Делается это или некой функцией, или хранится в некой таблице, коллекции, конфиге.
Что по сути тоже функция (согласно общей алгебре) :)

Мы храним информацию о том, на каком сервере и какой базе находятся данные определённого аккаунта (организации, тенанта) в коллекции MongoDB и кэшируем в Memcached бакете.
Тот сервис, где реализован подход "Отдельная база на каждого тенанта", у нас использует MongoDB.

Соответственно в начале запроса достаём эту информацию, кладём в контекст выполнения.
И когда в рамках последнего необходимо что-то получить из данных, то формируем подключение с нужными параметрами.


ок, ушел этой дорожкой.
...
Рейтинг: 0 / 0
11 сообщений из 61, страница 3 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ASP.NET Core Web server: вопрос по структуре
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]