Доступны RPC-фреймворки?

Я хочу использовать структуру RPC для внутреннего использования. Фреймворк должен быть кросс-языковым. Я изучаю Apache Thrift прямо сейчас. Буферы протокола Google не предоставляют возможности RPC в точности. Какие у меня есть варианты, кроме Thrift. (мои серверы будут преимущественно Java, а клиенты будут Java, Python, PHP).


person sheki    schedule 02.09.2010    source источник
comment
После небольшого изучения и просмотра всех доступных вариантов вместе с документацией я предпочитаю Thrift. Ожидание, когда Message Pack станет более зрелым   -  person sheki    schedule 17.09.2010
comment
Любопытно, что именно вы ищете с RPC по сравнению с очень простой обработкой запросов/ответов (REST); например простая комбинация HTTP+JSON работает достаточно хорошо, удобно, производительно, просто. Итак, что бы вам купили такие фреймворки, как thrift, PB, Hessian или другие?   -  person StaxMan    schedule 28.10.2010
comment
Thrift определенно быстрее и легче, чем подход HTTP/JSON. С помощью Thrift можно обслуживать больше запросов, чем HTTP+JSON/XML. Так что Thrift — хороший выбор для внутренних служб. Подход REST может быть лучшим для внешних API   -  person sheki    schedule 31.10.2010


Ответы (3)


Существует также MessagePack, который утверждает, что работает быстрее, чем Protocol Buffers, и имеет больше возможностей, чем Thrift.

person sheki    schedule 02.09.2010
comment
Честно говоря, разница в производительности между PB, Thrift и альтернативами редко имеет большое значение — все они достаточно быстры для большинства применений. - person StaxMan; 28.10.2010

Я бы посмотрел на REST как на первый вариант, потому что он вездесущ и серьезен.

Если производительность и представление действительно должны быть компактными, я слышал хорошие отзывы об Apache AVRO и мои пальцы дергаются, чтобы попробовать это в гневе.

person Peter Tillemans    schedule 02.09.2010
comment
AVRO кажется интересным. Что ж, дебаты REST и RPC окончены, и я ищу альтернативы RPC. - person sheki; 02.09.2010
comment
На первый взгляд, AVRO не поддерживает PHP из коробки. Это может быть проблемой для нас. - person sheki; 02.09.2010
comment
Я не нашел реализации RPC в исходниках Avro C++, я что-то пропустил? - person dalle; 30.03.2011
comment
Из issues.apache.org/jira/browse/AVRO-777 кажется что по крайней мере поддержка C идет полным ходом. - person Peter Tillemans; 30.03.2011

Кажется, также существует ICE: который использует буферы протокола Google для RPC.

person sheki    schedule 02.09.2010
comment
Точнее, он их не использует, но может эмулировать. - person Vladislav Rastrusny; 29.03.2011