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