2012-02-20 32 views
9

Tôi đang làm việc trên WebApp bằng cách sử dụng backbone.js và socket.io ở phía máy khách và Django ở phía máy chủ. Tôi muốn làm "đẩy" từ máy chủ khi dữ liệu thay đổi (giống như trong một ứng dụng trò chuyện). Tôi đã xem qua hai thực hiện socket.io bằng Python với hội nhập Django trông đầy hứa hẹn:Máy chủ socket.io tốt nhất để sử dụng với Django - gevent hoặc tornadio2 là gì?

Cả gevent và lốc xoáy đều có very good performance, vì vậy tôi không quan tâm đến các khung kết nối không đồng bộ khác. Yêu cầu duy nhất khác là việc sử dụng SSL cho kết nối - không truyền tải văn bản thuần túy.

Vì vậy, giữa hai cách tiếp cận này, điều nào sẽ dễ thực hiện nhất? Có một khuôn khổ dựa trên đăng ký tốt cho tornadio2 tương tự như cách django-socketio làm điều đó cho gevent?

Một tùy chọn khác mà tôi đã xem là django-serverpush, cũng dựa trên TornadIO2. Nó tích hợp tốt hơn với Django so với các ứng dụng TornadIO2 khác, nhưng việc thực hiện vẫn cần một số cải tiến trước khi nó trở thành sản phẩm sẵn sàng.

Trả lời

6

Tại thời điểm viết câu trả lời này, django-socketio vẫn chưa được nâng cấp đầy đủ để hoạt động với socket.io mới nhất.

Tornado/TornadIO2 mặt khác được duy trì tốt và với một vài tiện ích mở rộng tùy chỉnh, tôi có thể thiết lập và chạy chúng rất độc đáo. Sau khi tôi khởi chạy sản phẩm của mình, tôi hy vọng sẽ dành chút thời gian để mở nguồn cho những sửa đổi của tôi. Cho đến lúc đó, tôi rất sẵn lòng trả lời bất kỳ câu hỏi nào về cách thực hiện điều này.

1

Thành thật mà nói tôi khá giống nhau. Đây là một ý kiến ​​nhiều hơn. Đối với hiệu suất tôi nghĩ gevent có hiệu suất cao hơn dựa trên những gì tôi đã đọc, nhưng bạn nên làm các xét nghiệm của riêng bạn để tìm ra có hiệu suất cao nhất.

+0

Từ nghiên cứu của tôi, hiệu suất của chúng có thể so sánh được, do đó sẽ không phải là yếu tố. Tôi đã quan tâm hơn đến việc họ tích hợp chặt chẽ với Django, dễ dàng hơn để làm việc và duy trì tốt hơn như thế nào. –

+0

Tôi sẽ đi với Django-SocketIO nếu tôi là bạn. – stormlifter

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