Tôi có điều này trong tâm trí:Cơ sở dữ liệu sao chép để dự phòng sử dụng một cơ sở dữ liệu miễn phí và Java với mùa xuân & Hibernate ứng dụng web
On mỗi máy chủ: (họ tất cả được thiết lập hệt)
- Cơ sở dữ liệu miễn phí như MySQL hoặc PostgreSQL.
- Tomcat 6.x để lưu trữ Servlet ứng dụng dựa trên Java
- Hibernate 3.x như công cụ ORM
- Spring 2,5 cho lớp kinh doanh
- Wicket 1.3.2 cho các lớp trình bày
Tôi đặt cân bằng tải ở phía trước máy chủ và bộ cân bằng tải thay thế trong trường hợp cân bằng tải chính của tôi bị hỏng.
Tôi sử dụng Terracotta để có thông tin phiên được sao chép giữa các máy chủ. Nếu một máy chủ bị hỏng, người dùng có thể tiếp tục công việc của họ tại một máy chủ khác, lý tưởng là nếu không có gì xảy ra. Những gì còn lại để "giải quyết" (như tôi đã không thực sự thử nghiệm này và ví dụ không biết những gì tôi nên sử dụng như là một cân bằng tải) là nhân rộng cơ sở dữ liệu đó là cần thiết.
Nếu người dùng tương tác với ứng dụng và cơ sở dữ liệu thay đổi, thì thay đổi đó phải được sao chép vào máy chủ cơ sở dữ liệu trên các máy chủ khác. Tôi nên làm thế nào? Tôi có nên sử dụng MySQL PostgreSQL hay cái gì khác (lý tưởng là miễn phí vì chúng tôi có ngân sách hạn chế)? Những thứ khác trên âm thanh có hợp lý không?
Làm rõ: Tôi cụm để có tính sẵn sàng cao đầu tiên và quan trọng nhất và tôi muốn có thể thêm máy chủ và sử dụng tất cả cùng một lúc để có khả năng mở rộng cao.
Hehe, quan tâm đến việc này. Tôi đã xem xét gần như cùng một vòm (sans Hibernate/Wicket và không có đất nung). PostgreSQL + pgpool có vẻ là đặt cược tốt nhất của tôi, tôi cần chạy một số điểm chuẩn ... – alex