Какая разница между JSON RPC с HTTP2 против grpc? - PullRequest
3 голосов
/ 08 ноября 2019

Мне не нравятся инструменты, которые делают много вещей одновременно. Так что GRPC мне кажется над головой, это как kubernetes. GRPC - это инструмент, который сочетает в себе две вещи: расширенный Protobuf (служба поддержки) и HTTP2.

Я прочитал много статей, в которых говорится, что использование GRPC является потрясающим для производительности. И есть две причины, по которым

  • используется protobuf, он меньше, чем json или xml.
  • GRPC использует HTTP2 для транспортного протокола

Вот основная часть: protobuf и HTTP2 являются независимыми проектами, инструментами, чем угодно. С этим пониманием я могу сказать, что GRPC - это не что иное, как объединение нескольких различных инструментов, например, kubernetes объединяет инструменты докера и оркестровки.

Поэтому мои вопросы таковы: W Реальные преимущества использования GRPC по сравнению с HTTP2с любой полезной нагрузкой (CSV, XML, JSON и т. д.).

Давайте пропустим часть о сериализации, потому что, как я упоминал, protobuf - это независимая библиотека от grpc

1 Ответ

1 голос
/ 13 ноября 2019

Как вы указали, gRPC и Protobuf часто объединяются. Хотя в подавляющем большинстве случаев gRPC будет использовать protobuf в качестве IDL и HTTP / 2 в качестве транспорта, это не всегда , в случае .

Итак, какое значение gRPC предоставляет самостоятельно? Для начала он предоставляет проверенные в бою реализации каждого из этих транспортов, а также первоклассную поддержку прототипа IDL. Интеграция этих вещей не тривиальна. gRPC упаковывает их все в одну красивую сменную коробку, поэтому вам не нужно выполнять работу.

Он также предоставляет вам функциональность, которой нет у HTTP / 2. Сменная авторизация / аутентификация , инструменты распределенной трассировки , утилиты отладки , балансировка нагрузки в стороне (включая предстоящую поддержку дляПротокол xDS ), и более .

...