2010-09-16 2 views
0

Я столкнулся с проблемой подключения к базе данных в моем проекте, в котором я использовал распорки. Я не могу понять, как я управляю соединениями с базой данных. Я хочу, чтобы мой сайт был хорошим, основываясь на доступе к нему, он получит миллион после запуска.Хорошая архитектура проекта Java с базой данных

А также проблема с размером кучи в этом случае.

Я не могу понять, как я буду управлять своей архитектурой. Plz направьте меня, если у кого-то есть знания. Я хочу хорошую архитектуру Java с хорошим управлением подключением к базе данных.

+7

Не обижайтесь, но если вы создаете сайт, на котором вы ожидаете иметь миллионы пользователей после запуска, вам потребуется гораздо более внимательный взгляд на все аспекты вашей архитектуры и, желательно, на кого-то, кто обладает опытом создания таких приложений. Управление соединениями с БД - это, если можно так выразиться, только ОДИН из того, что вам нужно посмотреть. Производительность, масштабируемость в целом, кэширование, безопасность - это лишь некоторые аспекты, которые необходимо учитывать и выбирать в своих архитектурных вариантах. – InSane

+2

A ** должен читать **: http://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site –

+0

@ In Sane: надеюсь, что смогу голосуйте свой комментарий не один раз. – helios

ответ

1

Я предлагаю вам использовать Hibernate для работы с БД.
Очень хороший инструмент ORM

Для вашего случая с архитектурой должно быть 3 модуля.

1) WebApp
2) Сервисный модуль
3) База данных [Hibernate модуль]

0

Spring имеет некоторые очень хорошие средства, чтобы помочь вам управлять подключениями к БД. Взгляните на часть IV документации: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/spring-data-tier.html

Весна может помочь вам, если вы хотите сделать простой JDBC/SQL, или если вы хотите использовать более причудливый ORM, такой как Hibernate.

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

0

Вы можете ознакомиться с подходом layered architecture. Сама Struts основана на архитектурном шаблоне MVC.

От Wiki ... В MVC:

модели не являются объектами доступа к данным; однако в очень простых приложениях, которые имеют небольшую логику домена, реального разграничения не существует.

Многие приложения используют механизм постоянной памяти, такой как база данных для хранения данных. В MVC особо не упоминается уровень доступа к данным, поскольку он понимается под ним или инкапсулируется моделью.

Таким образом, вы можете comeup с вами собственный слой доступа к данным, которые будут работать под вашей модели; Оформить заказ A Simple Data Access Layer using Hibernate