комета лифта скала - PullRequest
       8

комета лифта скала

0 голосов
/ 14 декабря 2011

Так что в основном мне нужна система, подобная этой:

  • У нас есть пользователи
  • У пользователей есть друзья

Теперь пользователи, если они приходят нана своем веб-сайте они могут публиковать «активность», как в твиттере, вводить то, что они делают, и все их друзья получают обновления в реальном времени.

Я смотрел на лифт в течение недели или трех и копался в примере с сервером чата. Как я уже говорил, как я могу сделать кометного актера для "действий", которые были опубликованы друзьями?

1 Ответ

1 голос
/ 14 декабря 2011

Я вижу два основных подхода:

  1. Сделайте это так же, как в примере чата: просто используйте один сервер "Чат", который содержит все действия, и каждый пользователь регистрируется.Если будет опубликовано новое действие, каждый пользователь будет проинформирован и должен проверить, было ли опубликовано действие одним из его друзей (возможно, через match / PartialFunction).Если да, он отобразит его, в противном случае откажитесь от него.

  2. Используйте один сервер "Чат" на пользователя и регистрируйте только друзей пользователя на этом сервере.Примечание: я не знаю, нужен ли вам один прослушиватель комет на сервер для каждого пользователя, за которым вы следуете в этом случае, или слушатель комет может прослушивать несколько серверов.Если вам нужен один прослушиватель для каждого сервера, вам придется объединить все действия, которые вы слушаете, прежде чем отображать их.

Подход 1 ближе к примеру ChatServer, но я бы предложил следоватьподход 2, поскольку в нем меньше общения, поэтому он должен лучше масштабироваться.Также использование разных серверов должно улучшить масштабируемость, так как вы можете делать разбиение на основе этого.Конечно, вам придется больше управлять, чем использовать только один одноязычный сервер чата.

...