Web sockets (+oracle)

marat7256

Народ, кто-нибудь с ними работал?
Хочется замутить реализацию одного проекта с их использованием.
Если грубо: запрос с браузера -> обращение к БД (Oracle) -> небольшая обработка -> отдача в браузер.
Вопросов несколько:
1. Какая серверная реализация лучше, учитывая, что нужен доступ к Ораклу?
2. Выносить ли запросы к БД в отдельный "процесс", учитывая, что БД Оракл?
3. Сколько коннектов тянет и как блокируется, если блокируется?

okis

http://socket.io/ рабочая реализация (правда, говорят, уже не поддерживается)
клиенты для оракла какие-то там в ноде тоже есть
нода асинхронная, соответственно, не заблокируется
http://stackoverflow.com/questions/18907591/node-jssocket-io...

marat7256

нода асинхронная, там все будет "отдельный процесс"
Процесс или тред?
Просто есть проблема с "дороговизной" коннекта к Ораклу.
Грубо говоря, хотелось бы, чтобы соединение было одно, а не каждый раз создавалось новое для каждого запроса по Web socket. (по не зависящим от меня причинам, апгрейдить оракл не получится, чтобы получить коннекшн пул)

okis

я неправильно написал
процесс там один, но модель событийная
если я верно понимаю, можно эмулировать пул соединений: http://github.com/coopernurse/node-pool

marat7256

процесс там один, но модель событийная
Возможно, это глупый вопрос, но если процесс один, то ожидание ответа от БД не залочит все?
Время выборки может достигать нескольких секунд (оптимизация этого в задачи не входит).

okis

нет
процесс переключится на другие события, пока будет ждать ответа, который тоже событие

marat7256

Понятно.
Вопрос в объеме данных. Если из БД выбирается "достаточно много", а затем передается клиенту, то можно ли тут ожидать проблем? То есть пришло событие, что запрос отработал, надо забрать из БД и передать клиенту (браузеру). При малом объеме данных, я проблем не вижу, но будут ли возникать затыки при росте объемов? Вполне возможно, что и выборка готовых данных из БД и посылка их клиенту, тоже как-то асинхронно выполняются, например порождая отдельный тред или процесс. Однако, если это не так, то можно ожидать проблем.
Я может опять глупости спрашиваю, но не хочется начинать кодить не понимая, где может ждать затык. А выискать инфу, читаю документацию, я всегда успею, если не получу ответов.

SergeRRRRRR

странные вопросы, ну юзай томкат+java+xslt.

SergeRRRRRR

При малом объеме данных, я проблем не вижу, но будут ли возникать затыки при росте объемов?
Будут и еще какие. Буквально вчера наткнулся, когда из оры прилетал xml на 12к строк, в результате данные не успевали обрабатываться.

marat7256

Для этого мне надо с нуля учить java и все что ее касаетя, а хотелось бы с минимальными затратами :smirk:

okis

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

marat7256

Это понятно.
Речь о том, что сам node замрет и не будет отвечать на запросы клиента, поскольку процесс всего один.
Сейчас, когда написано на пхп, плевать, как долго он скрежещет с данными, поскольку коннект обработает другой процесс апача и запустит другой скрип на пхп.
А известно что про пхп реализацию websockets? Ratchet, например?

okis

не пробовал
пишут, по некоторым оценкам, echo сервер будет на ratchet даже быстрее в определенных условиях

Ulala

Просто интересно, почему Oracle?
Оставить комментарий
Имя или ник:
Комментарий: