Является ли protobuf хорошим выбором для внешнего микросервиса? Под внешним микросервисом я подразумеваю некоторый сервис, который отображается как конечная точка RESTful. - PullRequest
1 голос
/ 20 января 2020

Если protobuf используется в качестве сериализации данных для внешнего микросервиса, который обслуживает конечную точку RESTful, сообщение protobuf необходимо преобразовать обратно в сообщение JSON, что увеличит общее время ответа сообщения.

Я знаю Protobuf хорош для связи между внутренними службами, но хорош ли он и для внешних служб?

1 Ответ

0 голосов
/ 20 января 2020

Внешний API: каким бы ни был внешний API. Если этим внешним API является gRP C, то protobuf - это отличный выбор, поскольку практически всегда то, что использует gRP C (вам нужно очень стараться использовать что-то кроме protobuf с gRP C). gRP C не является вездесущим, но и не является необычным для межфирменных API (особенно если один конец - Google, очевидно).

Необходимость переводить сообщения между различными формами (будь то совершенно разные форматы или разные полезные нагрузки в одном и том же формате) вполне нормально, если вы не просто проходной прокси, поэтому: необходимость декодировать и кодировать не является серьезным шоком. Если вы можете сделать хотя бы один из этих шагов, то получите преимущества от размера и скорости protobuf: тогда отлично.

...