2010-10-20 26 views
22

Tôi muốn hiểu khái niệm cơ bản về máy chủ web Event Driven, tôi biết một trong số đó là Tornado, nhưng bất kỳ thông tin nào khác được đánh giá cao.máy chủ web hướng sự kiện là gì

Cảm ơn

+0

tại sao câu hỏi này không phù hợp, rằng có một yêu cầu chặt chẽ? – Anonymous

Trả lời

12

Máy chủ web cần xử lý các kết nối đồng thời. Có nhiều cách để thực hiện việc này, một số trong số đó là:

  • Quy trình cho mỗi kết nối.
  • Một quy trình cho mỗi kết nối và có một nhóm các quy trình sẵn sàng để sử dụng.
  • Một chuỗi cho mỗi kết nối.
  • Một chuỗi cho mỗi kết nối và có một nhóm các chủ đề sẵn sàng để sử dụng.
  • Một quy trình duy nhất, xử lý mọi sự kiện (kết nối được chấp nhận, dữ liệu có sẵn để đọc, có thể viết thư cho khách hàng, ...) trên một cuộc gọi lại.
  • Một số kết hợp ở trên.
  • ...

Cuối cùng, sự khác biệt kết thúc lên được trong cách bạn lưu trữ mỗi trạng thái kết nối (một cách rõ ràng trong một cấu trúc ngữ cảnh, ngầm trong ngăn xếp, ngầm trong một sự tiếp nối, ...) và cách bạn lên lịch giữa các kết nối (hãy để bộ lập lịch hệ điều hành làm điều đó, cho phép các nguyên tố thăm dò hệ điều hành làm điều đó, ...).

1

cách tổ chức sự kiện-driven nhằm giải quyết các vấn đề C10K. Nó biến 'mô hình đẩy' truyền thống thành 'mô hình kéo' để tạo I/O không bị chặn. Nói một cách đơn giản, kiến ​​trúc hướng sự kiện tránh sinh ra các chủ đề bổ sung và chi phí chuyển đổi ngữ cảnh luồng, và thường kết thúc với hiệu năng tốt hơn và tiêu thụ ít tài nguyên hơn.

Một số khái quát từ một nhà phát triển đường ray, cũng bao gồm sự tương tự: http://odysseyonrails.com/articles/8

+0

Lưu ý rằng các câu trả lời chỉ có liên kết không được khuyến khích, các câu trả lời SO phải là điểm kết thúc của việc tìm kiếm giải pháp (so với một điểm dừng khác của các tham chiếu, có xu hướng bị giảm thời gian). Vui lòng xem xét thêm bản tóm tắt độc lập tại đây, giữ liên kết dưới dạng tham chiếu. – kleopatra

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