2009-03-07 36 views
13

Tôi muốn đẩy dữ liệu đến trình duyệt qua HTTP mà không làm hỏng ứng dụng django/python của tôi.Chọn và triển khai máy chủ sao chổi

Tôi quyết định sử dụng máy chủ sao chổi, để yêu cầu proxy giữa ứng dụng của tôi và ứng dụng khách (mặc dù tôi vẫn chưa thực sự tìm ra nó đúng cách).

Tôi đã nhìn vào các công cụ sau: quay quanh cometd ejabberd cầu cảng

Có ai có bất kỳ kinh nghiệm làm việc với những máy chủ này và triển khai chúng? Bất kỳ thông tin chi tiết và liên kết nào về các chủ đề sẽ tuyệt vời. Cảm ơn bạn.

Trả lời

5

tôi sẽ khuyên bạn nên nhìn vào Twisted, máy chủ twisted.web của họ, và công việc sao chổi thực hiện trên đầu trang của nó tại Divmod. Họ có thể xử lý các kết nối đồng thời nhiều hơn so với các luồng truyền thống hoặc các máy chủ dựa trên quy trình, đó chính xác là những gì bạn cần cho một thứ như thế này. Và, vâng, tôi đã sử dụng các hệ thống kiến ​​trúc bằng cách sử dụng công cụ Twisted cho COMET, trong khi sử dụng các thứ khác cho các ứng dụng web phía trước nhiều hơn bên cạnh nó. Nó hoạt động tốt với mỗi phần làm những gì nó làm tốt nhất.

+0

Cảm ơn câu trả lời này. Tôi đã được kéo tóc của tôi ra cố gắng tìm ra cách kết hợp django/xoắn khi máy chủ riêng biệt là câu trả lời đúng. – DonGar

2

Tôi cần phải làm điều gì đó rất giống nhau. Tôi đã tìm thấy điều này nhưng chưa có thời gian để xem xét chính xác:

django_evserver là máy chủ http đơn giản cho các ứng dụng Django. Nó dựa trên thư viện miễn phí. Ưu điểm chính của django_evserver là nó cung cấp các phương pháp chế độ xem trước django. Bạn có thể hiển thị một trang web trong một số đoạn mã , mỗi phần có thể được xử lý bởi chế độ xem django khác nhau.

Sử dụng ý tưởng này có thể sử dụng django_evserver làm máy chủ sao chổi cho ứng dụng django.

http://code.google.com/p/django-evserver/

+0

+1: Tôi thực sự bị hấp dẫn bởi evserver –

2

Nếu bạn có thể chạy Java, tôi sẽ giới thiệu StreamHub Comet Server.

Thứ nhất, liên quan đến nhu cầu của bạn không phải 'giết' ứng dụng hiện tại của bạn, JavaScript bao gồm một dấu chân thực sự thấp ở mức dưới 10K. Tôi sử dụng nó để đẩy cập nhật của người dùng và trò chuyện trên trang web mạng xã hội mà tôi đang xây dựng. Tôi đã thử nghiệm với hơn 1000 lượt truy cập mỗi ngày và không có hiệu ứng đáng chú ý nào trên CPU.

Thứ hai, khi triển khai, tôi đã làm theo một số ví dụ và đã hoạt động rất nhanh so với đập đầu vào tường bằng CometD. Có Comet Hello World hướng dẫn bắt đầu tốt và Google Group nếu bạn gặp khó khăn về mọi thứ.

+0

+1: StreamHub dễ sử dụng nhất và trưởng thành nhất – DLauer

2

Một tùy chọn là Netty, khung máy khách-máy chủ dựa trên Java NIO từ JBoss. Để so sánh và thảo luận see here. Nó báo cáo xử lý 100000 kết nối mở đồng thời trên một máy chủ quad-core.

2

Nếu bạn đang chạy IIS, bạn có thể kiểm tra WebSync (http://www.frozenmountain.com/websync), máy chủ sao lưu (Bayeux) chuẩn và máy khách cho .NET/IIS. Nếu bạn không muốn tải bổ sung, phiên bản theo yêu cầu là một tùy chọn SaaS để giảm tải nặng.

2

Nếu bạn đang tìm kiếm để kết hợp Django với một máy chủ Comet (quay quanh), kiểm tra dự án này, tôi đã đi để tích hợp Django và quay quanh trong như "sạch" và "thực tế" càng tốt ở đây: http://github.com/clemesha/hotdot

Dự án giải quyết các vấn đề "thế giới thực" như bảo mật và ghi nhật ký/lọc/sửa đổi các tin nhắn Comet trong quá cảnh, vv - nhưng vẫn đang trong quá trình thực hiện.

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