Protobuf-Net или службы буфера протокола от C # до Python и других языков - PullRequest
1 голос
/ 19 января 2012

Я недавно смотрел на protobuf-net и буферы протокола, и пока это выглядит довольно впечатляюще.Что меня интересует, так это сервисная сторона вещей.Если я правильно понял документацию Google, вы можете объявить службы в .proto файлах.Мои вопросы:

  1. Реализована ли эта поддержка сервиса в protobuf-net или другой библиотеке dotbu protobuf?
  2. Является ли поддержка сервиса полностью кросс-языковой, как буферы протокола, которыми они являются?
  3. Насколько сложно генерировать клиентов на другом конце, основываясь на объявлении, объявленном в файле .proto?

В основном я рассматриваю возможность настройки служб web или tcp с использованием protobuf, если это возможно.Сокращение накладных расходов при обработке больших объемов и protobuf кажется идеальным, поскольку мои клиенты, как правило, реализуются на смеси языков, таких как Python, Java, C ++ и DotNet.Я действительно хочу что-то, что было бы легко для них и для меня интегрировать в их приложение, и, поскольку я планирую использовать protobuf для внутреннего использования, надеюсь, будет легко интегрироваться на моей стороне.

[править] Просто некоторая дополнительная информацияcode.google.com/apis/protocolbuffers/docs/proto.html#services Это тип службы, о которой я говорил, но я не уверен, какие языки действительно поддерживают ее и что вы действительно получаете из объявления в файле .proto.

1 Ответ

3 голосов
/ 19 января 2012

Если вы посмотрите на страницу Сторонние дополнения , вы найдете множество отдельных реализаций RPC. Однако я не верю, что Google выпустил реализацию RPC, и я не уверен, что есть какие-то особенно «стандартизированные» в сторонней коллекции ... вам действительно нужно выбрать понравившийся вам механизм RPC, и вероятно, сделайте немного работы, чтобы реализовать его там, где его еще нет.

(Отказ от ответственности: я работаю в Google и владею проектом protobuf-csharp-port. Однако я не пишу это "от имени" Google. Это только мое личное мнение.)

...