Как реализовать легкий сервис sub-sub в App Engine? - PullRequest
15 голосов
/ 16 ноября 2010

Во время презентации Google I / O 2009 «Автономная обработка в App Engine: взгляд в будущее» ( видео , слайды ) Бретт Слаткин представляет службу очереди задач. *

Он утверждает, что

Паб-подсистемы максимизируют транзакции, отделяя:

  • Большое количество мелких транзакций в секунду
  • Разветвление "один ко многим" с заменой приемников
  • Гарантированный заказ, фильтрация, двухфазная фиксация

И специально подчеркивает

В нашем новом API реализована организация очередей, а не pub-sub


Меня интересует только подмножество этих функций:

  • Разветвление «один ко многим» с изменением выбранных / фиксированных внутренних обработчиков приемника
  • Гарантированный заказ , фильтрация, двухфазная фиксация

Целевой целью было бы упростить публикацию уведомлений / сообщений между различными модулями одного и того же веб-приложения. Примеры сценариев использования:

  • Информирование платежного модуля о получении счетов.
  • Предоставление пользователю возможности отслеживать изменения определенного объекта домена, за которым он решил следовать / star.

Как правильно реализовать их поверх службы очереди задач?

Ответы [ 2 ]

6 голосов
/ 15 апреля 2015

Рассмотрите возможность использования Cloud Pub / Sub . Это внешняя версия внутренней технологии Pub / Sub, которая широко используется в Google около 7 лет и доказала свою масштабируемость и надежность. На сегодняшний день это все еще бета, но мы собираемся в GA в ближайшее время (через несколько месяцев).

1 голос
/ 16 ноября 2010

Существует пример реализации PubSubHubbub от Google, который работает на AppEngine .Вы можете посмотреть, как они это делают, или удалить код, пока он не будет соответствовать вашим потребностям.

...