Столкнулся с ситуацией, когда нужно работать с protobuf-сообщениями, но нет доступа к .proto файлам? В Ozon нашли способ обойти это ограничение для интеграции с внешними сервисами.
Ключевая проблема: сервис product-facade (2.2 млн RPS) должен общаться с внешними системами через protobuf, но без доступа к контрактам. Решение — динамическая десериализация через дескрипторы и рефлексия, позволяющая читать и писать сообщения даже без исходных .proto файлов.
Полезный подход для тех, кто работает с высоконагруженными системами и сталкивается с ограничениями интеграции через protobuf
🔥Ссылка на статью
Заметки Бэкендера & Max
