Я использовал много модели для подключения к db, в моем последнем проекте, который я работал с С# и структурой сущности, я создал статический класс для подключения к db, но у меня была проблема с открытием и закрытием соединения, для чего я дал ошибку, когда больше, чем 10-15 запросов собрались вместе, я решил это с изменением метода подключения к db с я connect now per request и удалением всех статических методов и классов.
Теперь я хочу знать,
Что лучше всего подходит для подключения?
- Должен ли я закрывать его после каждого запроса и открывать его перед использованием или...?
- Соединение в статическом классе - хорошая модель (что мне не нужно создавать его каждый раз)?
- Есть ли хороший шаблон для этой проблемы?
- Все это по одному и тому же вопросу. Каков наилучший метод для подключение к базе данных (статические, абстрактные, для каждого запроса,...)?
Например,, работая на веб-панели отправителя sms, я должен отправлять 100 тыс. смс в секунду, эти sms собирать с другими и делать пакет, который у каждого пакета составляет 1 ~ 20 см, тогда мне нужно отправляйте пакеты 5K ~ 100K в секунду, и когда я отправляю пакет, я должен сделать следующие шаги:
- Обновить один смс доставляемого или не доставленного
- Обновление баланса пользователя при доставке уменьшает баланс пользователя в таблице useraccounts.
- Обновить число отправленных смс в таблице пользователя
- Обновить число отправленных смс в таблице мобильных номеров
- Обновить число отправленных смс в таблице номеров отправителей.
- Обновить пакет для доставленных и удаленных смс в таблице пакетов
- Обновить пакет для того, как поток отправляет этот пакет в таблицу пакетов
- Обновить таблицу потоков для того, сколько sms отправило ее этим протектором и сколько провалилось
- Добавить документ учетной записи для этих транзакций в таблице AccountDocument
Все шаги и многое другое, например журналы, пользовательский интерфейс и виджеты мониторинга, которые должны выполняться, и мне нужно подключение к БД для выполнения каждой из этих транзакций.
Теперь, что лучше всего подходит для подключения к БД? По запросу человека или по запросу потока или каждой отдельной транзакцией.