powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с несколькими БД из сервлетов.
25 сообщений из 63, страница 1 из 3
Работа с несколькими БД из сервлетов.
    #39695793
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Подскажите пожалуйста стоит ли изобретать велосипед или есть готовое решение?
Описываю задачу. Есть Tomcat, есть Servlet, есть БД. При обращении клиента к сервлету, сервлет смотрит в БД, через JDBC драйвер. Нужно усложнить систему таким образом, чтобы при обращении клиента к сервлету, сервлет обращался к нескольким БД и выдавал клиенту обобщённый результат. Если делать обращение к БД последовательными, то ожидание ответа будет долгим. Мне нужно сделать так, чобы обращение к БД было параллельными. Можно каждое обращение запусккать в Thread, но насколько я знаю thread в сервлетах не правильно делать.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695805
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695813
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело не втом что неправльно а в том что сложно сделать это правильно.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695826
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, необходим механизм быстрой валидации запросов на СУБД.
Например, препарировать запросы - это, обычно, быстро. Тогда, если все СУБД "в принципе готовы" исполнять подготовленные запросы, то надо "уведомить клиента", отправив ему заголовки и, желательно, начальные байты тела отклика.
Иначе вы, рано или поздно, столкнётесь с тем, что время ожидания отклика не очень велико и его, как правило, невозможно увеличить.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695830
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

что за субд?
где находятся бд?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695934
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,
Вопрос странный. Параллельно к 5 бд это 5 переменных коннекта.
Если вы про асинхронный запрос, то как вы бедете лепить общий результат не дождавшись все ответы?

lleming,
+1
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695955
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

всё просто если базы на одном сервере - можно сделать в одном запросе. как самое оптимальное - использовать храимки.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695964
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123,

всё просто если базы на одном сервере - можно сделать в одном запросе. как самое оптимальное - использовать храимки.узко мыслишь.
Нужен паттерн Фасад.
Т.е одна база которая все собирает.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695969
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это обычный бизнес сценарий.

Future в помощь.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695982
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123узко мыслишь.
Нужен паттерн Фасад.
Т.е одна база которая все собирает.понятно, что городить огород это клёво.
но можно все просто сделать в одной хранимке, в одной из баз.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695988
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяв одной из баз.тебе даже не дошло, что это ровно то что я сказал))
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696010
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123тебе даже не дошло, что это ровно то что я сказал))до меня дошло, что ты хочешь попонтиться придумывая заумные названия.
назвать простое обращение к нескольким базам "паттерн Фасад" - это нечто :)
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696018
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяно можно все просто сделать в одной хранимке, в одной из баз.

чем огород в бд сильно лучше в огорода приложения ?
что если у разраба нет достаточного доступа к БД или скиллов ДБА недостаточно.

Для топикстартера по сути вопроса. Почему все непросто:
thread per request плохой паттерн а в вашем случае, several threads per request. Создание потока дорогостоящая операция, поэтому если создавать по несколько потоков на каждый запрос, сервер может большей частью занят созданием потоков вместо обработки бизнес логики. К тому же jdbc blocking и вновь `c трудом` созданные потоки большей частью скорее всего будут простаивать в ожидании ответа от бд. А еще их нужно как синхронизировать и проверять что все завершены чтобы собрать ответ.
Тут больше смотреть в сторону executorservice (да еще и ограниченной очередью) вместе с completablefuture чтобы как то управлять всем этим без ручной синхронизации.

Особая тема предмета как и когда правильно погасить этот executor service если вдруг сервер будет рестартовать или гаситься. Утечки памяти ибо потоки в executor service не управляются томкатом.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696025
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingчем огород в бд сильно лучше в огорода приложения ?потому, что обращение к разным бд на одном сервере - это стандарт субд, а не огород. для этого достаточно к имени таблицы добавить имя базы.
использование хранимок - позволит собрать из разных баз - в темповые таблицы в памяти и уже из них отправить приложению законченный набор данных

но только это пока предложения - пока нет о том что за данные возвращают каждая из баз и что из себя предполагает их обработка.
llemingчто если у разраба нет достаточного доступа к БД или скиллов ДБА недостаточно.это ещё один вопрос к ТС
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696036
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Паттерны, это язык общения программистов.
Ты кроме слова хранимка слова знаешь?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696041
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Паттерны, это язык общения программистов.
Ты кроме слова хранимка слова знаешь?я не люблю когда общаются заумными словами, когда можно всё выразить простыми и доступными.
как правило заумные фразы используют те кто хочет скрыть свои незнания.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696044
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingСоздание потока дорогостоящая операция, поэтому... существуют асинхронные сервлеты (since Servlet API 3.0), чтобы "на общих основаниях" получать потоки из пула контейнера.
А так - да: или хостить сервлет-контейнер в приложении или, наоборот, приложение в сервлет-контейнере.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696045
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понимаю, чем потоки и изначальный алгоритм автора топика Вам так не нравятся.

Делал систему, работал в несколько потоков (нужно было посчитать запрос, потом сгенерить 100-1000 реквестов в И-нет за актуальными данными, потом нужно было их объединить и можно было выдать результат). Правда, система была разбита на модули. Вся обработка шла в своем мини-сервере (отдельная JVM на отдельном хосте), Web-часть туда просто задания по RMI отправляла и получала результат.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696050
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак правило заумные фразы используют те кто хочет скрыть свои незнания. ещё необразованные, как правило их не понимают.
Leonid KudryavtsevНе очень понимаю, чем потоки и изначальный алгоритм автора топика Вам так не нравятся.
Автор не сказал цель потоков?
Параллелизм? Скорость?
Пусть использует пул потоков. Загрузит все ядра.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696051
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123пул потоков.
Пул коннектов)).
Что в принципе, едино.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123узко мыслишь.
Нужен паттерн Фасад.
Т.е одна база которая все собирает.понятно, что городить огород это клёво.
но можно все просто сделать в одной хранимке, в одной из баз.
Автору нужен параллелизм.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696093
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonАвтору нужен параллелизм.в ожидании ответа сервера?
Все выше решения будут работать.
Просто параллелизм в разных местах - сервлет апи, пул, драйвер...
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696491
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дайте пример параллелизма с хранимкой.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696500
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДайте пример параллелизма с хранимкой.да такова там нет, но и не понятно что требуется от параллелизма ТС.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696506
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаешь?
...
Рейтинг: 0 / 0
25 сообщений из 63, страница 1 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с несколькими БД из сервлетов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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