Tôi có một ứng dụng Erlang/OTP thực hiện một số logic nghiệp vụ. Nó được viết bằng Erlang chủ yếu cho khả năng chịu lỗi, bởi vì tôi có thể dễ dàng khởi động lại một trong những thành phần bị hỏng của hệ thống (thời gian hoạt động cao là yêu cầu quan trọng nhất). Mỗi thành phần của nó thực hiện một số loại tính toán "song song" cụ thể.Sử dụng OTP/Erlang như là một phần của kiến trúc dựa trên thành phần của ứng dụng web
Do một chu kỳ làm việc, ứng dụng tạo ra một danh sách các giá trị. Hãy gọi ứng dụng Erlang/OTP này là "back-end".
Ứng dụng Erlang/OTP này cũng sẽ sử dụng máy chủ PostgreSQL để lưu trữ kết quả trong lưu trữ liên tục và lưu trữ thêm thông tin cần thiết cho tính toán của nó (chưa được triển khai).
Tiếp theo tôi cần thêm giao diện người dùng vào ứng dụng Erlang/OTP này - một giải pháp dựa trên web đơn giản có thể phục vụ cho người dùng web: chấp nhận yêu cầu tính toán từ người đó, yêu cầu back-end thực hiện tính toán và cung cấp cho người dùng kết quả từ back-end.
Không có yêu cầu khả năng mở rộng, tôi nghĩ rằng số lượng người dùng tối đa mỗi ngày có thể không quá 1000.
Vì vậy, nhiệm vụ hiện tại của tôi bây giờ là thực hiện một chung front-end cho tôi back-end Erlang/OTP ứng dụng (thường có nghĩa là tôi có một trường hợp sử dụng điển hình: truy cập vào trang web, đăng ký, đăng nhập, sử dụng các ứng dụng, có được kết quả trên ajax'y đẹp trang web tìm kiếm, đăng xuất). Ở một bên, tôi biết rằng việc sử dụng lại mã có thể tiết kiệm cho tôi rất nhiều thời gian: ví dụ với Ruby on Rails tôi có thể nhận được xác thực người dùng, lưu trữ mật khẩu, giao diện ajax và nhiều thứ khác miễn phí. Ở phía bên kia, tôi không biết gì về việc thiết kế một ứng dụng bao gồm một back-end Erlang/OTP + PostgreSQL db server và một khung công tác web (RoR, Django, vv) như là một front-end.
Tôi có nhiều câu hỏi trong đầu: Erlang/OTP và web-framework có sử dụng cùng cơ sở dữ liệu PostgreSQL để chia sẻ kết quả không? Cách tốt nhất để gửi yêu cầu tính toán từ khung công tác web đến ứng dụng Erlang/OTP là gì và đưa nó trở lại? Làm cách nào để giám sát máy chủ PostgreSQL - nó không nằm trong khả năng chịu lỗi của OTP?
Nói chung, tôi có một vài thành phần phần mềm không đồng nhất và tôi muốn xây dựng một hệ thống làm việc từ chúng (thành phần 'trưởng' là ứng dụng Erlang/OTP).
Tôi nên bắt đầu với tác vụ này ở đâu? Bạn có thể cho tôi lời khuyên hay gợi ý nào để đọc?
P.S. Tôi đã cố gắng đọc this và theo các liên kết, nhưng không hiểu nhiều.
UPD: Tôi biết rằng Chicago Boss và Erlang web framework khác vẫn tồn tại, nhưng tôi nghi ngờ rằng ai trong số họ có một môi trường như vậy trưởng thành, sôi nổi và biến thiên rất lớn của các plugin khác nhau và các thư viện ví dụ như Ruby on Rails, Django hoặc bất kỳ khuôn khổ MVC dựa trên PHP nào. Đúng?
UPD2: Có lẽ tôi phải giải thích sâu hơn về vấn đề này: Tôi cũng cần đầu cuối để duy trì càng tốt. Làm điều đó trong Erlang có nghĩa là tôi có thể gặp vấn đề khi tìm đúng người phát triển để duy trì nó; làm điều đó trong RoR, Django, vv có nghĩa là tôi có thể dễ dàng tìm được lực lượng lao động để duy trì giao diện người dùng và phát triển nó.
Tôi cũng đã chỉnh sửa câu trả lời của mình. Làm kiểm tra cập nhật câu trả lời. cảm ơn –