Ben bir etkinlik linki oluşturmak gerekir (stream? A "Lifestream" daha doğru olmalıdır.) (Aynı) benzer bir sistem için bir çok popüler sosyal ağ platformları için benzerlik. Benim ilk girişimi bir RDBMS'yi kullanmak için ama hızla nedeniyle gerekli Joın büyük miktarda fikir düştü. Diğer olası (ve daha uygundur) yaklaşımlar atma, ben aşağıdaki sonrası tökezledi:
how do social networking websites compute friends updates?
Bir mesaj kuyruğuna yararlanmak için tavsiye alarak, biraz zaman RabbitMQ ve PubSubHubbub protokolü inceleyerek geçirdim. Ve ben şu yaklaşımı öne sürdü:
1) Each user has a "topic"
2) Other users subscribe to the topic
3) When the user performs some action, a message is published which is then related (References resolved), formatted (Human-friendly language, links, etc.) and aggregated (X, Y and Z have commented on post P) with a PHP-script.
(Benim yaklaşım tamamen yanlış olmadığı sürece) Ancak, ben yine de her mesajın geçmesi ve bunu işlemek gerekir. Yani, fark bir RDBMS her şeyi saklamak ve (PubSubHubbub protokolünün uygulanması dışında) bir ileti kuyruğu kullanarak arasında ne olurdu?
Böyle bir sistem inşa etmek için daha etkili yollar var mı? (Eğer öyleyse, lütfen belirtiniz)
Yorumlar / Öneriler / Eleştiriler açıktır. :)
Şimdiden teşekkürler!
PS: FriendFeed Bunu uygulayan nasıl ilginç bir makale var (http://bret.appspot.com/entry/how-friendfeed-uses-mysql). Ancak, ben "hackery" rahat alanı bulunuyor üzerinden MySQL iter hissediyorum (sadece İlişkisel Veri ve ne ilişkisel veri olmadan bir RDBMS'yi kullanarak noktası olurdu?)
PPS: (nedeniyle bana bu teknoloji yeni olduğu için, belki de) görmek bir ileti kuyruğu kullanarak başka konu mesajı "Tüketici" ile getirilen bir kez, o kuyruktan kaldırılmış olmasıdır, ancak, ben devam etmek istiyorum bir zaman miktarı için rasgele.