Я бы лично не использовал для этого механизм опроса. Я думаю, что это довольно хороший прецедент для pub / sub mq в качестве компонента поверх базы данных, который позволяет потребителям подписываться на определенные каналы для событий изменений для объектов, которые им интересны.
Пример:
Вы можете использовать очень простой в процессе pub / sub механизм для этого типа вещей, используя узлы EventEmitter и, как вам нужно масштабировать, имеют требования к долговечности или требуется перекрестный язык MQ, вы можете перейти к такой технологии, как rabbitmq, zeromq и т. Д. Я начал реализовывать что-то очень легкое, чтобы сделать это только в одном из моих приложений : https://github.com/jmoyers/mettle/blob/master/src/pubsub.coffee
Это сводится к чему-то вроде:
pubsub.sub('users.*', function(updates){
// Interested party handles updates for user objects
});
Таким образом, вы не станете глупым давление опроса в вашей базе данных. Фактически, распределение изменений полностью не зависит от записи в вашу базу данных
Josh
Для запроса PUT : HTTP 200 или HTTP 204 должно означать «ресурс успешно обновлен».
Для запроса DELETE : HTTP 200 или HTTP 204 должны означать «ресурс успешно удален». HTTP 202 также может быть возвращен, что будет означать, что инструкция была принята сервером и «ресурс был отмечен для удаления».
Если существующий ресурс изменен, СЛЕДУЕТ отправить код ответа 200 (ОК) или 204 (Нет содержимого)>, чтобы указать на успешное завершение запроса.
Успешный ответ ДОЛЖЕН быть 200 (ОК), если ответ включает объект, описывающий статус, 202 (Принято), если действие еще не было выполнено, или 204 (Нет содержимого), если действие было введено в действие, но ответ не включает сущность.
Источник: W3.org: Определения методов HTTP / 1.1
HTTP 200 OK: Стандартный ответ для успешных запросов HTTP . Фактический ответ будет зависеть от используемого метода запроса.
HTTP 204 Нет содержимого: Сервер успешно обработал запрос, но не возвращает никакого содержимого
Источник: Список кодов состояния HTTP: 2xx Успех
RFC 2616 описывает , какие коды состояния использовать .
И нет, это не всегда 200.
Короткий ответ: для PUT и DELETE вы должны отправить либо 200 (OK), либо 204 (No Content).
Длинный ответ: вот полная диаграмма решений (нажмите для увеличения).