2008-09-25 31 views
7

Tôi đang tạo ứng dụng Lifestreaming liên quan đến việc kéo xuống nhiều nguồn cấp dữ liệu cho nhiều người dùng và thực hiện khai thác dữ liệu và thuật toán học máy trên kết quả. GAE của tải cân bằng và khả năng mở rộng lưu trữ âm thanh như một phù hợp tốt cho một hệ thống mà cuối cùng có thể được di chuyển xung quanh rất nhiều dữ liệu, nhưng nó thiếu công việc cron là một mối phiền toái. Tôi có nên sử dụng Django tốt hơn trên một đồng địa phương và giao dịch với quy mô DB của riêng tôi không?Google App Engine có phải là nền tảng xứng đáng cho ứng dụng Lifestreaming không?

Trả lời

3

Trong khi tôi không thể trả lời câu hỏi của bạn trực tiếp, kinh nghiệm của tôi về xây dựng Microupdater (một tập hợp tin tức thu thập một vài trăm nguồn cấp dữ liệu trên AppEngine) có thể cung cấp cho bạn một chút thông tin chi tiết.

  • Tìm nạp nguồn cấp dữ liệu.Tìm nạp nhiều nguồn cấp dữ liệu bằng công việc cron (giải pháp duy nhất cho đến SDK 1.2.5) không hiệu quả và có thể mở rộng, có giới hạn tần suất công việc thấp hơn (nói 1 phút, vì vậy bạn chỉ có thể tìm nạp tối đa 60 nguồn cấp dữ liệu hàng giờ). Và với SDK 1.2.5 mới nhất, có XMPP API mà tôi chưa triển khai. Cách tiếp cận hứa hẹn tốt nhất sẽ là PubSubHubbub, trong đó bạn cung cấp url gọi lại và HubBub sẽ thông báo cho bạn các mục nhập mới trong thời gian thực. Và có một số demo implementation trên AppEngine, bạn có thể chơi xung quanh.

  • Phân tách nguồn cấp dữ liệu. Bạn có thể đã biết rằng các nguồn cấp dữ liệu phân tích cú pháp là cpu-chuyên sâu. Tôi sử dụng Universal Feed Parser bởi Mark Pilgrim, khi phân tích cú pháp một nguồn cấp dữ liệu lớn (nói một chủ đề người đọc google công khai), AppEngine có thể không xử lý tất cả các mục nhập. Trang tổng quan của tôi có rất nhiều cảnh báo giới hạn CPU này. Nhưng nó có thể dẫn đến khả năng của tôi để tối ưu hóa các mã được nêu ra.

Nói chung, AppEngine chưa phải là nền tảng lý tưởng cho ứng dụng phát trực tuyến, nhưng điều đó có thể thay đổi trong tương lai.

+1

Tôi xin lỗi, StackOverFlow không cho phép tôi đăng * nhiều hơn * một liên kết vì tôi mới ở đây. Vì vậy, bạn cần phải google ra 4 liên kết còn lại. –

3

Nó có thể thay đổi khi họ cung cấp gói trả phí, nhưng khi nó đứng, App Engine không tốt cho các ứng dụng chuyên sâu của CPU. Nó được thiết kế để mở rộng để xử lý một số lượng lớn các yêu cầu, không nhất thiết phải là một lượng lớn tính toán theo yêu cầu. Tôi đang chạy vào vấn đề này với các tính toán khá nhỏ, và tôi sợ rằng tôi có thể phải bắt đầu tìm kiếm ở nơi khác khi tập dữ liệu của tôi phát triển.

0

Không. Nếu bạn cần rút nhiều thứ xuống, App Engine sẽ không hoạt động tốt. Bạn có thể sử dụng nó làm giao diện người dùng bằng cách đặt dữ liệu vào cửa hàng của họ sau khi thực hiện xử lý trước ngoại tuyến, nhưng bạn không thể thực hiện nhiều trong thời gian ~ 1 giây theo yêu cầu mà không thực hiện một số thực sự là những điều điên rồ.

Ứng dụng của bạn có thể sẽ tốt hơn trên lưu trữ của riêng bạn.

0

Kéo nguồn cấp dữ liệu hoặc tính toán sẽ không thành vấn đề. Nhưng bạn sẽ sớm phải trả tiền cho tài khoản của bạn. Công cụ ứng dụng bao gồm Django, ngoại trừ bạn sẽ cần phải làm việc với một số bộ điều hợp cho phần mô hình. Nó chắc chắn sẽ giúp bạn tiết kiệm từ việc bảo trì nhức đầu.

1

Nếu ứng dụng của bạn chỉ dựa trên Django, thì App Engine là một cược tốt. Tuy nhiên, nếu bạn cần thêm các thư viện C-enhanced, bạn sẽ lên một con lạch. App Engine không hỗ trợ những thứ như PIL hoặc ReportLab, sử dụng C để tăng tốc thời gian xử lý. Tôi chỉ đề cập đến điều này bởi vì bạn có thể muốn sử dụng C để tăng tốc độ một số thói quen của bạn trong thời gian dài.

Nếu bạn quyết định sử dụng đồng vị trí, hãy xem WebFaction.com. Họ có hỗ trợ tuyệt vời Django/Python và họ không có vấn đề với bạn bằng cách sử dụng lirbaries nói trên.

1

Hãy xem Slice Host: Họ bán Xen dựa trường máy chủ ảo hóa bắt đầu từ 20.00 $/tháng ...

Chúng tôi giống như bạn. Bệnh quá bán, hoạt động kém hiệu quả, dịch vụ lưu trữ cổ xưa công ty. Chúng tôi đã xem xét các vấn đề của chúng tôi trong tay của chúng tôi . Chúng tôi đã xây dựng công ty lưu trữ cho những người biết nội dung của họ. Hãy cung cấp cho chúng tôi một hộp, cung cấp cho chúng tôi băng thông, cung cấp cho chúng tôi hiệu suất và chúng tôi sẽ hoạt động. Các máy nhanh , ổ RAID-10, Tier-1 băng thông và quyền truy cập root. Được quản lý với phần phụ trợ Xen VPS tùy chỉnh để đảm bảo rằng tài nguyên của bạn được bảo vệ và bảo đảm .

Thật tuyệt vời để bắt đầu dự án và mở rộng quy mô mà KHÔNG phát sinh chi phí của nhà cung cấp hoặc colo được quản lý.

2

(Điều này rõ ràng là khá cũ, đáp ứng chỉ vì nó vẫn đi lên thực sự cao trong các truy vấn liên quan của Google ...)

Tôi chỉ mới bắt đầu sử dụng AppEngine và chưa được sử dụng nó cho tấn yêu cầu bên ngoài. Nhưng tôi biết rằng thông tin ở trên có lẽ ít hiệu quả hơn nhiều và có thể thậm chí không đứng vững. Họ nới lỏng các giới hạn khá một chút kể từ ngày 08 tháng 9 - check Aral Balkan's blog vì khiếu nại ban đầu của ông về những phát triển trên và sau này.

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