Tôi đang viết một ứng dụng proxy nhỏ cần được dự phòng, ví dụ: proxy chính sẽ chạy trên một máy chủ và máy chủ dự phòng sẽ chạy trên một máy chủ riêng biệt. Có một khuôn khổ sẵn sàng cao đơn giản mà tôi có thể sử dụng để thực hiện dự phòng này không? Ví dụ, khung công tác HA này sẽ gửi các ping giữa các cá thể và tăng một số loại ngoại lệ hoặc thông báo trên trường hợp khác khi trường hợp đầu tiên đi xuống.Khuôn khổ Java HA
Trả lời
Xây dựng hệ thống như vậy là công việc thường ngày của tôi trong những năm gần đây. Tôi đã tìm thấy jgroups một công cụ rất hữu ích để nhận và xử lý các loại sự kiện nhóm đó. Đây là trường hợp nếu bạn muốn xây dựng cơ sở hạ tầng HA của riêng bạn. Tôi không biết, nhưng có lẽ trong trường hợp của bạn chỉ là một proxy ngược lại đơn giản như HAProxy có thể là đủ.
hadoop là một nơi tốt để bắt đầu
Nếu bạn muốn HA mà không gặp rắc rối, chỉ cần sử dụng một số cân bằng tải với khả năng HA ví dụ Ultramonkey, LVS với keepalived v.v.
Trong cấu hình HA, bạn thường muốn sử dụng IP ảo, vì vậy ngay cả khi bạn có chức năng ping/thông báo này làm khung, bạn vẫn sẽ có các công việc cần làm (bắt đầu trả lời các yêu cầu tới IP ảo khi một cá thể khác không thành công). Vì vậy, trừ khi bạn đang tìm kiếm một dịp học tập, tôi khuyên bạn nên sử dụng một phần mềm trung gian thay vì tự viết mã bằng cách sử dụng các khung công tác.
Có số lượng kiểm tra sức khỏe mà bạn có thể định cấu hình cho các phần giữa này. Một kiểm tra sức khỏe đơn giản có thể là ví dụ, kích hoạt một yêu cầu GET cho ứng dụng của bạn. định kỳ và tìm kiếm một chuỗi cụ thể (ví dụ: "XXX đang chạy") trong phản hồi để đảm bảo ứng dụng của bạn. đang chạy tốt.
Bạn không cung cấp nhiều chi tiết về công việc mà ứng dụng của bạn làm, vì vậy tùy thuộc vào trạng thái của nó, cho dù nó có thể chịu đựng được dataloss nhỏ hay không. có một loạt các giải pháp khác nhau.
Có một số gợi ý hay ở trên, tôi muốn thêm: hãy xem JMS và nhắn tin liên tục. Thông thường chúng làm cho phục hồi khá tầm thường, nhưng với chi phí của độ trễ hit (trừ khi bạn byu một sản phẩm thương mại và tìm hiểu nó tốt hoặc trả tiền cho nhà cung cấp để điều chỉnh ứng dụng của bạn). Với hàng đợi JMS, bạn có thể thực hiện xử lý hoạt động tích cực và tiết kiệm cho mình những nhức đầu của việc phát hiện lỗi.
Một hướng khác để xem xét là phân phối quản lý nhà nước/cụm khung như Gigaspaces, Coherence, Gemstone, Infinispan, Gridgain và Teracotta. Chúng có thể tái tạo dữ liệu của bạn và đảm bảo chất lượng dịch vụ khác nhau. Hầu hết trong số họ đi kèm với một số loại phát hiện lỗi và cơ chế quản lý phân tán.
- 1. Khuôn khổ cấu hình Java
- 2. Khuôn khổ phát triển Web Java MVC?
- 3. khuôn khổ Java P2P KHÔNG JXTA/JXSE
- 4. Khuôn khổ chuẩn .NET
- 5. Khuôn khổ mẫu Javascript
- 6. Hiểu các khuôn khổ
- 7. Các khuôn khổ ORM
- 8. ASP.NET khuôn khổ lỗi
- 9. Khuôn khổ plugin Delphi
- 10. Các khuôn khổ giống như các khuôn khổ tiêm phụ thuộc trong PHP
- 11. Django vs PHP + khuôn khổ
- 12. Khuôn khổ Java tốt nhất cho WebSockets phía máy chủ
- 13. Cổng khuôn khổ ASP.NET MVC dành cho Java EE?
- 14. Khuôn khổ ngăn xếp đầy đủ cho Java
- 15. Khuôn khổ web java nào cần tìm hiểu?
- 16. Khuôn khổ bộ nhớ cache tốt nhất cho Java
- 17. Khuôn khổ địa phương hóa tốt cho Java
- 18. Thoát HTML trong Khuôn khổ Scala của Java Play
- 19. Khuôn khổ Java MVC gần nhất với Asp.net mvc3?
- 20. pydev và khuôn khổ xoắn
- 21. Khuôn khổ thực thể UnintentionalCodeFirstException
- 22. Khuôn khổ Javascript cho Flask
- 23. Lựa chọn khuôn khổ DSL
- 24. Plugin lịch khuôn khổ Javascript
- 25. Khuôn khổ .NET, Windows XP
- 26. Nội dung khuôn khổ jQuery
- 27. Khuôn khổ thực thể PostgreSQL
- 28. Khuôn khổ REST MVC REST
- 29. Khuôn khổ trò chơi JavaScript
- 30. Khuôn khổ ETL mã nguồn mở
Nghiêm túc? Hadoop là một khung tính toán phân tán. Tại sao bạn sẽ sử dụng một khuôn khổ giảm bản đồ cho điều này? –