Каков наиболее эффективный способ подключения моего приложения на одной виртуальной машине к моей базе данных Postgres на другой виртуальной машине?
У меня есть 1 физическая машина с 2 виртуальными машинами (VMWare esxi) - одна для базы данных (PostgreSQL 9.2.1) и одна для приложения. Мне бы хотелось, чтобы мое приложение эффективно подключалось к моей базе данных, и я слышал, что использование сокета файловой системы более эффективно, чем сетевой сокет (издержки TCP, IIRC).
- Есть ли способ использовать сокет файловой системы с вышеупомянутой настройкой? Или же...
- Есть ли другой, эффективный способ подключения, который вы бы порекомендовали?
1 ответ
Нет, сокеты файловой системы (формально доменные сокеты Unix) работают только в одной операционной системе (и хотя технически верно, что они более эффективны, чем сетевые сокеты, разница довольно мала, если вы не отправляете тонны крошечных запросов).
TCP должен нормально работать здесь. Если этого не произойдет после некоторого тестирования, тогда беспокойтесь об этом. Если у вас есть проблемы, они, скорее всего, связаны с плохим дизайном запросов, чем с протоколом связи между приложением и сервером.