Мы находимся на том этапе (я даже могу сказать, в нужное время), когда нам нужно отделить наш сервер базы данных от нашего веб-сервера приложения. К этому мы пришли после тщательного и тщательного мониторинга самого сервера (средней нагрузки, использования ЦП и т. Д.).
Когда сервер базы данных отделен:
Какова была бы идеальная настройка / лучший способ сетевого взаимодействия между двумя серверами? Если бы он работал на одном сервере, для связи между базой данных и приложением использовалась бы связь TCP / IP, но как он должен работать / настраиваться, когда он разделен, чтобы производительность не сильно пострадала? Например, в настоящее время наш URL-адрес JDBC выглядит как jdbc:postgresql://localhost:9999/ourproductiondb
возможно это localhost
будет изменен на частный IP-адрес сервера базы данных.
В нашем приложении мы также разрешаем пользователям приложения отправлять / прикреплять вложения (.txt, .doc, .pdf, .xls и т. Д.), Которые фактически физически хранятся на диске сервера, и в базе данных хранится только путь к его файлу. Какое место / подход является идеальным для физического обслуживания / хранения документов на веб-сервере приложений или на сервере базы данных?
Мы очень новички в этой области разделения базы данных как отдельного сервера, и наши знания об этом очень ограничены. Поэтому любые ресурсы, ссылки, документация, статьи, руководства, предложения и т. Д. В этом отношении очень приветствуются и очень ценятся.
НОТА: Наши торговые инструменты: RHEL5 64-бит, Apache Tomcat 6.0.10, JDK 1.6, PostgreSQL 8.2.22, pgpool 2.0.1
ИМХО, вы просто слишком сильно переживаете.
Возможно, я не понимаю вопроса, но лучший (и единственный) вариант - это тот же TCP / IP. Единственное, что вас может беспокоить, это задержка (время пинга) между серверами. Пока он находится в той же локальной сети, все в порядке.
Идеальное место - возможно, наименее загруженный сервер из двух. Поскольку файлы не хранятся в базе данных, они не имеют ничего общего с базой данных. Кажется, проще всего оставить их на сервере приложений.
Все, что вам нужно сделать, это переместить PostgreSQL и изменить этот "localhost" в вашем URL на новый IP-адрес сервера.