- система представляется как множество ресурсов, к которым могут быть применены стандартные операции получения, удаления и изменения
- все доступные ресурсы имеют собственный идентификатор
- вся необходимая информация для выполнения запроса передается с самим запросом, т.е. отсутствует серверный контекст
Если следовать этим принципам, то открываются интересные возможности для системы, не имеющей серверного контекста:
- она отлично скалируется горизонтально
- исчезает необходимость синхронизации данных сессии
- упрощается выведение серверов на поддержку
- если результат исполнение запроса не зависит от пользовательской сессии, а зависит лишь от адреса, по которому произошло обращение, то ответ сервера может быть эффективно закэширован
Все это смотрится весьма заманчиво для массовой интернет-системы.
Есть и еще одно интересное следствие из такой архитектуры - ее высокая модульность и расширяемость. Добавление новых типов ресурсов можно производить практически независимо от остального кода, не трогая остальных сервисов.
В общем, я, кажется, купил :)
No comments:
Post a Comment