2010-01-11 32 views
5

Câu hỏi này liên quan đến câu hỏi cũ hơn: MySQL tracking system. Tóm lại: Tôi phải triển khai một hệ thống theo dõi sẽ có tải cao bằng cách sử dụng Python. Đối với phần cơ sở dữ liệu tôi đã giải quyết trên mongoDB (có vẻ như công cụ thích hợp cho công việc này). Ngôn ngữ phát triển sẽ là Python.Hệ thống theo dõi và phân tích thống kê thời gian thực trong Python

Tôi đã nghĩ đến việc sử dụng một số trường hợp ứng dụng CherryPy sau nginx. Lý do đằng sau điều này là tôi không muốn xử lý tất cả các phần wsgi bản thân mình, nhưng mặt khác tôi không cần một khuôn khổ web thổi đầy đủ kể từ khi ứng dụng sẽ được đơn giản và không cần ORM.

Câu hỏi của tôi là:

  • Tôi có nên sử dụng máy chủ được xây dựng trong CherryPy hay tôi nên sử dụng Apache với modwsgi (hoặc máy chủ khác hoàn toàn)?

  • Âm thanh này có phải là cách tiếp cận hợp lý (nginx, mongoDB) không? Nếu không, bạn sẽ giới thiệu điều gì?

Cảm ơn bạn trước.

+0

+1 cho một câu hỏi hay. MongDB trông giống như một DB rất tốt cho tải cao, nhưng bạn cũng đã xem xét một DB với sự hỗ trợ GIS? – Mawg

Trả lời

1

Âm thanh như MongoDB sẽ là một phù hợp tốt cho việc này - Cập nhật nhanh chóng với các nhà khai thác tiên tiến, và M/R cho hàng loạt ẩn Chế biến. Tôi nghĩ CherryPy đằng sau Nginx cũng sẽ hoạt động tốt. Nếu bạn đi tuyến đường mod_wsgi, hãy xem this issue.

+0

Cảm ơn lời khuyên :). – Alex

+0

Tôi cho rằng tài liệu Mongo là sai lầm về vấn đề với việc sử dụng mod_wsgi. Nó nói 'Khi chạy PyMongo với phần mở rộng C cho phép có thể nhìn thấy những lỗi thất bại khi mã hóa do cách mod_wsgi xử lý nạp lại mô-đun với nhiều trình thông dịch phụ.' Bất kỳ vấn đề nào bạn thấy không phải là do mod_wsgi xử lý tải lại mô-đun như thế nào, đó là do phần mở rộng Mongo C chưa được viết đúng cách để làm việc trong nhiều trình thông dịch phụ cùng một lúc. Điều này sẽ xảy ra đối với bất kỳ hệ thống đa thông dịch nào, không chỉ mod_wsgi. Mongo có thể sửa chữa phần mở rộng C. –

+0

Graham - các tài liệu được mở, vì vậy bạn có thể tự do ngã ba và đóng góp những thay đổi mà bạn nghĩ nên có trong đó. Bạn nói đúng là chúng tôi có thể thay đổi phần mở rộng C để xử lý trường hợp đó, mặc dù tôi lo lắng về tác động hiệu suất của bất kỳ "sửa chữa" nào. Nếu bạn quan tâm đến việc thảo luận thêm, hãy mang nó đến http://jira.mongodb.org - cảm ơn cho đầu vào! – mdirolf

3

Bạn đã xem Graphite chưa? Nó có vẻ như chính xác loại điều mà bạn cần (nhìn vào câu hỏi khác của bạn) và được thiết kế để giám sát ứng dụng và máy chủ của nhóm Orbitz. Nó cực kỳ mạnh mẽ và dễ sử dụng cho loại điều này.

+0

Có vẻ rất tuyệt. Tôi sẽ xem xét nó (và tôi sẽ yêu cầu các thành viên khác trong nhóm xem xét nó). Hy vọng rằng điều này sẽ làm công việc. Cảm ơn. – Alex

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