2010-09-23 26 views

Trả lời

3

MochiWeb theo cơ bản OTP Design Principles: sử dụng supervisor(3) hành vi để khởi động lại các quá trình bị lỗi (mô-đun mochiweb_sup.erl) và hành vi gen_server(3). Tuy nhiên nó thực hiện nhiều thủ tục để xử lý dữ liệu, chẳng hạn như những người được tìm thấy trong mochinum.erl cho nhanh nổi số điểm serialization và mochijson[2].erl để xử lý JSON, vv

Điều xấu với mochiweb (Tôi đã làm cho nó rõ ràng lý do tại sao here) IMHO là nó sử dụng kỹ thuật không chính thức (từ năm 2003!) của modules parameterizing (mô-đun mochiweb_request.erl, thông báo -module(mochiweb_request, [Socket, Method, RawPath, Version, Headers]). trong phần đầu của tệp). Điều tương tự cũng áp dụng cho thư viện HTTP Erlang khác misultin().

Sửa lỗi nếu tôi sai.

+1

module parametrized hiện đang ghi nhận. Tôi vẫn không thích chúng, nhưng bây giờ chúng là những thứ chính thức. –

+0

Điều xấu với mochiweb là nó sử dụng 'thoát (bình thường)' quá nhiều và do đó ẩn các vấn đề thực sự. –

3

CouchDB có rất nhiều vấn đề với điều đó nhưng các nguồn mới nhất được xuất bản bởi Cloudant thể hiện CouchDB trong cốt thép, vì vậy nó phải tuân thủ otp.

Riak - giống nhau, trên thanh cốt thép (btw. Cùng cốt thép và cốt thép). Btw2. nó là ứng dụng được viết rất độc đáo, nơi tốt để học các thực hành tốt.

Mã nguồn Zotonic trông giống như một chút lộn xộn. Tôi có thể thấy có 'ứng dụng' vv nhưng cấu trúc thư mục không giống như bất kỳ nút OTP thích hợp nào. Btw. ngay cả Giấy phép không được thêm vào trên cùng của tất cả các mô-đun:?

ejabberd có đầy đủ các ứng dụng và ứng dụng, nhưng cũng có một số lựa chọn thiết kế thú vị; vì vậy có thể không tìm hiểu Erlang trong ví dụ này.

3

Ứng dụng cơ sở dữ liệu Hibari chắc chắn dựa trên OTP. Máy chủ được chia thành nhiều ứng dụng OTP, bao gồm một ứng dụng nhỏ để quản lý cấu hình và ghi nhật ký (gmt), một tệp lớn cho chính máy chủ (gdss), máy chủ nhỏ cho các ứng dụng Erlang gốc (gdss_client) và các ứng dụng OTP riêng biệt cho từng ứng dụng của các trình xử lý giao thức phía máy chủ (ví dụ: JSON-RPC, UBF, EBF/BERT).

Đôi khi một bức tranh đáng giá ít nhất vài trăm từ. Tôi đã có một số ảnh chụp màn hình từ ứng dụng Erlang "appmon" (ứng dụng giám sát) cho thấy cây quá trình giám sát và nhân viên. Rất tiếc, các ứng dụng xử lý giao thức không được hiển thị trong hình # 01, nhưng chúng sẽ là nếu tôi chạy chúng khi tôi chụp ảnh.

Liên kết là ở đây: OTP 'appmon' screen shots

-Scott

Các vấn đề liên quan