6

Chúng tôi muốn triển khai "Nguồn cấp tin tức" nơi người dùng có thể xem tin nhắn được bạn bè phát, được sắp xếp với thông báo mới nhất trước tiên. Nhưng nguồn cấp dữ liệu phải phản ánh các thay đổi trong danh sách bạn bè của cô. (Nếu cô ấy thêm bạn bè mới, tin nhắn từ những người đó nên được bao gồm trong nguồn cấp dữ liệu và nếu cô ấy sẽ xóa bạn bè của họ thì không được bao gồm.) Nếu chúng tôi sử dụng ví dụ pubsub-test và đính kèm danh sách người nhận vào mỗi tin nhắn rất nhiều thao tác của người nhận thư liệt kê khi người dùng kết nối và ngắt kết nối bạn bè.Cách tạo mô hình nguồn cấp dữ liệu tin tức xã hội trên Google App Engine

Trước tiên, chúng tôi đã mô hình hóa "đăng xuất" đăng ký xuất bản bằng cách sử dụng suy nghĩ RDBMS thông thường. Nó dường như làm việc lúc đầu, nhưng sau đó, kể từ khi nhà điều hành IN hoạt động theo cách của nó, chúng tôi nhanh chóng nhận ra rằng chúng tôi không thể tiếp tục trên đường dẫn đó. Chúng tôi đã tìm thấy Brett Slatkin's presentation from last years Google I/O và hiện chúng tôi đã xem nó một vài lần nhưng không rõ ràng là chúng tôi cách thực hiện với danh sách người nhận "động".

Điều chúng tôi cần là một số gợi ý về cách "suy nghĩ" khi lập mô hình này.

Trả lời

3

Dán câu trả lời tôi nhận được cho câu hỏi này trong tập đoàn Google cho Google App Engine http://groups.google.com/group/google-appengine/browse_thread/thread/09a05c5f41163b4d# By Ikai L (Google)

Một vài suy nghĩ ở đây:

  • là loại bỏ những người bạn một sự kiện phổ biến? tương tự, đang thêm bạn bè một sự kiện phổ biến? (Tất cả tương đối, liên quan đến "đọc" của các nguồn tin)

  • Từ những gì tôi nhớ, cách duy nhất để làm cho nặng đọc quy mô là viết dữ liệu nhiều lần trong suối của mọi người. Twitter thực hiện điều này, từ những gì Tôi nhớ, bằng cách sử dụng mô hình "cuối cùng nhất quán". Đây là lý do tại sao nguồn cấp dữ liệu của bạn sẽ không cập nhật trong một số phút khi chúng dưới tải nặng . Sự đồng thuận chung, tuy nhiên, là mô hình quan hệ, bình thường hóa đơn giản sẽ không hoạt động.

  • động cơ Jaiku là mã nguồn mở cho nghiên cứu của bạn: http://code.google.com/p/jaikuengine. Điều này chạy trên App Engine Hy vọng những sự giúp đỡ này khi bạn đang xem xét một thiết kế.
Các vấn đề liên quan