powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как напрямую связать Apache с Postgre
17 сообщений из 17, страница 1 из 1
Как напрямую связать Apache с Postgre
    #35526274
апач
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как самым коротким путем (с минимальными накладынми расходами) направлять вызовы с Apache в Postrge?
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35526478
Фотография APM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уверены что pgsql поймет запросы типа
HTTP 1.1
GET index.html
?
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35526845
апач
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
APMУверены что pgsql поймет запросы типа
HTTP 1.1
GET index.html
?

Совершенно не важно. Фактически мне нужно чтобы вызов апача поступал на вход некой pgsql сохраненной процедуры. Пусть это будет строка, ту которую вы привели.
Но как это сделать не располагая посередине еще один слой ввиде PHP например.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527020
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
апачу написать свой модуль для апча!
Прямо с утра развеселил, сенькс! ;)
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527212
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Хм, такого извращения я еще не видел. Я понимаю, в постгрес встроить легкий веб-сервер - но от монстра апача передавать запрос в постгрес (ага, при этом еще и без пула соединений работать, чтоб веселей было) конечно дико производительное решение. Возможно, оно даже будет работать хотя бы не медленнее, чем mod_perl или mod_php :-)
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527302
апач
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MBGХм, такого извращения я еще не видел. Я понимаю, в постгрес встроить легкий веб-сервер - но от монстра апача передавать запрос в постгрес (ага, при этом еще и без пула соединений работать, чтоб веселей было) конечно дико производительное решение. Возможно, оно даже будет работать хотя бы не медленнее, чем mod_perl или mod_php :-)

Я почему то всегда думал, что поддержка пула соединений - это задача web сервера (хотя никогда и не вникал в эту механику).
Как это происходит например в ASP.NET? IIS отппавляет запрос процессу w3wp, а тот уже к ASP.NET dll-кам. Но только где на этом промежутке создается пул соединений с БД - грю не вникал как то.
И если пул соединений - это не задача web сервера, то тогда какую он роль играет в качестве сервера приложений, в тех случаях когда его предлагают в этом качестве использовать.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527334
апач
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот например нарыл в инете:
вот тут: http://www.xakep.ru/magazine/xs/028/020/1.asp
"IIS создает пул соединений, куда складирует разные connection'ы, каждый из которых можно заюзать сколько угодно раз. Когда приложение запрашивает соединение, IIS проверяет, а не тусует ли уже в пуле свободный connection с такой же строкой соединения. Если нужное соединение удается найти, оно используется, если нет - создается новое. Таким образом, если в пуле удается нарыть открытое соединение с нужными свойствами, хитрый IIS просто возвращает линку на него и ни хрена не открывает. Так что пул ускоряет процесс установки соединений, ведь обычно юзают один источник данных и 2-3 типа доступа с разными паролями. Именно из-за организации пула запись объекта Connection в переменную Session замедляет работу сервака. Поэтому никогда так не делай."

то есть все таки веб-сервер выступает в роли держателя пула соединений?
Хорошо, если посередине сделать еще один слой - PHP, то "кто" будет держать пул? PHP (процесс в котором выполняются PHP скрипты) или все таки Apach?
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527445
MBGЯ понимаю, в постгрес встроить легкий веб-сервер
А можно подробнее? Как это в СУБД встроить веб-сервер? То есть я все равно понимаю веб-сервер как отдельную компоненту. И эта компонетна уже непосредственно взаимодействует со скриптами (сохраненными процедурами) postgre. Прекрасно! Я этого и хочу. Только опять же, этот промежуточный сервер - пусть не Апач - должен
1) держать пул соединений с postgre.
2) Выбрав неиспользуемое соединение по нему запросить выполнение некой процедуры postge, передав в качестве параметра - параметры полученные из http запроса.

Как это сделать? То есть - в случае Windows более менее понятно. А в кроссплатформенном варианте? Нужно ли тащить (дополнительно ставить) отдельный менеджер соединений или JDBC аналогично ODBC или ADO способно поддерживать эту возможность? А может есть другой вариант - более "родной" для postgre?
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527618
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Web server занимается обработкой запросов и раздачей контента - пул соединений не поддерживает и кофе не варит. А вот application server может в себя включать веб-сервер, поддержку пула соединений с базами данных, интерпретатор того или иного скриптового языка и еще много всего. Из application server-ов могу назвать aol web server - есть встроенные пулы соединений с постгресом, ораклом и проч., встроенная поддержка tcl, массивного виртуального хостинга (массивного - в смысле десятков тысяч доменов на одном веб-сервере) и очень много других возможностей.

Встроить веб-сервер в постгрес несложно - взять движок на тикле, к примеру, и на untrusted tcl в постгресе его запустить. Или можете и на С взять движок, если хотите. Так же легко добавляется возможность отдавать xml из постгреса в ответ на http-запросы. А можно и наоборот сделать - взять встраиваемый движок СУБД (скажем, метакит или эскулайт) и встроить его в веб-сервер. И тот и другой вариант имеют свои плюсы и минусы.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527667
chand0s
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
апач
Но как это сделать не располагая посередине еще один слой ввиде PHP например.
Я бы написал один php-файл парсер, который будет делать всё что вам надо, запустил бы всю эту беду и померил производительность. Если бы она меня не устроила - сел бы думать.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35527748
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Вот с чего можно начать
http://sourceforge.net/projects/tclhttpd

Этот веб-сервер можно запустить в постгресе или наоборот в нем запустить эскулайт (метакит уже встроен).
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35528701
апачКак самым коротким путем (с минимальными накладынми расходами) направлять вызовы с Apache в Postrge?

//перефразируя: как написать веб сервис используя потгрес и апач?

SELECT * FROM postgresql_apache_web_services ORDER BY performance DESC LIMIT 2;

1. Быстрее всего -- mod_<ваш модуль к апачу на с/с++> который перехватывает запрос, обрабатывает, лезет в постгрес за данными, форматирует их в форму пригодную для передачи через http, i.e {json, yaml, xml, key=value, etc}, отдает данные клиенту


2. немного медленние, но меньше гимора при разработке -- MyApache::<ваш модуль к апачу на mod_perl> который делает тоже самое что и в п.1

далее идут различные варианты 1. начиная от mod_python, до java, php, ruby, и тд.

выбор варианта зависит от кучи разных "variables", начиная тех. требований по производительности и знаний разработчиков и кончая указаниями босса вроде того что "использовать будем .net voip java iphone xml url [buzz word list continues]". Как правило время потраченное на разработку обратно пропорционально производителъности. Например вариант 1 наиболее производителъный но тербует больше времени для разрабитки и более высокой квалификации для девелопера.

грубо напишите то что вам надо на том что знаете, протерстируйте. скорее всего пойдет в любом варианте.

Насчет пула соединий: апач на самом деле дает вам этот пул из за свой ахитектуры. так же если надо можно использовать connection proxy pool вроде pgbouncer или pgpool.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35528764
апач
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное за исчерпывайшею информацию.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35529497
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
Константин~Насчет пула соединий: апач на самом деле дает вам этот пул из за свой ахитектуры. так же если надо можно использовать connection proxy pool вроде pgbouncer или pgpool.

Архитектура апач отнюдь не гарантирует, что разработчик модуля для работы с постгресом реализовал работу с пулом соединений. Проверять надо выбранный модуль, т.к. это свойство модуля, а не апача. Если писать, скажем, на перле с помощью перлового модуля доступа к постгресу, то поддержки пулов точно не будет, если топикстартер ее сам не напишет.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35530862
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBG
я имел ввиду следующее: апач представляет собой пул процессов (или потоков, что завистит от конфига и ОСи). Если мы рассматриваем некий нагруженный веб сервис задача которого общаться с потгресом , то предполагается что все процессы апача постоянно заняты некой работой (т.е. не висят и не ждут данных как в ситуации с фронт-енд веб сервером) и каждому из них на самом деле нужено постоянное соединение с базой. Если применитъ внешний пул соединений, то он просто откроет число соединией = числу активных процессов апача. Отсюда и мое замечание про то что апач фактически и является пулом.

Естественно что драйвера перла, пчп, и тд. никаких пулов соединений не делают.
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35531382
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGЕсли писать, скажем, на перле с помощью перлового модуля доступа к постгресу, то поддержки пулов точно не будет, если топикстартер ее сам не напишет.посмотрите модуль Apache::DBI
...
Рейтинг: 0 / 0
Как напрямую связать Apache с Postgre
    #35533003
Konstantin~
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для информации:

Apache::DBI не делает пулов, он обеспечиват постоянное/долговременное соединие с базой, т.е. заменят метод disconnect и следит чтоб коннет не умер время от времени посылая запрос в базу методом ping.

это все есть как в описании модуля так в самом коде.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как напрямую связать Apache с Postgre
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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