Строгий protobuf-контракт в gRPC обеспечивает типизацию, защищает от сбоев в интеграция...
Строгий protobuf-контракт в gRPC обеспечивает типизацию, защищает от сбоев в интеграциях и... Может ограничивать. Например, когда транзитный сервис приходится обновлять ради изменений, нужных только конечному пользователю. Привет, это Владислав Свиридов из команды product-facade. В хабрастатье я разобрал три механизма protobuf, которые помогают гибко обходить ограничения без отказа от контрактов. Это: 🔵Unknown Fields — сервис не знает часть полей, но может сохранить и передать их дальше; 🔵google.protobuf.Any — сервис может передавать сообщения разных типов через один контракт; 🔵dynamicpb — сервис работает с protobuf-сообщением, имея только его runtime-дескриптор. Если в вашей микросервисной архитектуре скорость эволюции схем опережает скорость перевыпуска сервисов, рекомендую познакомиться с этими способами прямо сейчас 📖 #ozontech_habr #go