Основы PubSub - много последователей сценария? - PullRequest
0 голосов
/ 27 июля 2010

У меня есть веб-приложение, где пользователи могут следовать друг за другом.Когда один пользователь публикует какое-либо действие, я бы хотел, чтобы это действие появлялось в каналах подписчиков.Простым подходом может быть сохранение файла feed.xml для каждого пользователя, который обновляется следующим образом:

За UserA следует UserB, UserC.

UserA публикует некоторое содержимое.

Обновление UserB, UserC xml-каналов, например:

// feed-UserB.xml
UserA flew a kite.
UserX blah blah blah.
....

// feed-UserC.xml
UserA flew a kite.
UserY blah blah blah.
....

Это похоже на pubsub (я думаю).Мне не нужно, чтобы это было в реальном времени, хотя.Я не уверен, как обстоят дела со многими последователями.Если у пользователя 1 миллион подписчиков, хаб не должен сидеть там и уведомлять всех 1 миллион подписчиков?Если концентратор работает на одном сервере, это может долго связывать процессор, верно?

Спасибо

1 Ответ

0 голосов
/ 06 августа 2010

Вам нужно знать, есть ли у вас ситуация с большим количеством подписчиков нескольких издателей или более равномерно распределенное решение с несколькими подписчиками многих издателей.

Если это первое, может быть неумно писать все XML-файлы при обновлении A, а просто генерировать «по запросу», предполагая, что рассматриваемый спрос будет достаточно низким, чтобы вам не приходилось генерировать все файлы X, Y, Z для каждого из обновлений А. Это будет называться: обновления на чтение.

Если это последнее, то ваш подход лучше: обновления при записи: вы строите X, Y и Z каждый раз, когда обновляет А.

...