Отличный вопрос!Вы, вероятно, обнаружите, что выбор платформы не является вашим основным фактором, определяющим производительность / масштабируемость.Мы использовали Restlet , основанный на очень сильной рекомендации бывшего коллеги, который использовал его для разработки Overstock.com (очень большой сайт электронной коммерции).Он имеет хорошую производительность и отлично работает на Overstock.com.Но мы не проводили ни одного сравнения.
Одним из главных драйверов для REST является его масштабируемость, качество распределенной системы, благодаря которой вы можете обеспечить увеличение использования при пропорциональном увеличении размера системы.и стоимость.Кэширование является ключевым методом для достижения масштабируемости.Таким образом, если вы разрешаете кэшировать свои представления, большая часть нагрузки на самом деле лежит не на системе управления идентификацией, а на последующих веб-кешах.Это не зависит от инфраструктуры REST.
Вероятно, еще один основной фактор производительности и масштабирования системы - технология вашей базы данных.Настройка системы баз данных и оптимизация запросов могут окупиться здесь.Также подумайте, имеет ли смысл добавлять слой кэша базы данных (например, OpenSymphony).
Мы обнаружили, что затраты на сериализацию для нас были довольно значительными.Общая частота запросов была наилучшей, если бы мы использовали двоичные сериализации Kryo или Smile.Если вам нужна текстовая сериализация, мы обнаружили, что сериализатор JSON JSON намного быстрее, чем XML-сериализатор XStream, что удваивает общую частоту запросов.Это может быть область для рассмотрения.
Так что, если вы еще этого не сделали, проверьте свою систему с точки зрения масштабирования.См. http://www.highscalability.com, Ричардсон и Ruby's Restful Web Services (О'Рейли), Кэл Хендерсон Создание масштабируемых веб-сайтов и Тео Шлосснагл Масштабируемые интернет-архитектуры для начала.