не найду щас оригинальную статью, но нашел суть той их проблемы - и она проистекает как раз из компилируемости protobuf:
Vadim Goncharov, [27.02.17 13:48]
представь, что у тебя система из микросервисов, обменивающихся сообщениями, настолько сложная, что возникают промежуточные роутеры, которые роутят эти сообщения по полям в них. Представил?
Vadim Goncharov, [27.02.17 13:49]
так вот, это еще хуйня =)
Vadim Goncharov, [27.02.17 13:49]
ну то есть, тебе нужен апгрейд схемы сообщений, это повлечет за собой апгрейд всех таких роутеров, т.к. protobufs - компилируемый
Vadim Goncharov, [27.02.17 13:50]
но это вполне менеджабельно еще
Vadim Goncharov, [27.02.17 13:51]
проблема начинается тогда, когда инфраструктура таких роутеров (пути проходящих сообщений) начинает принадлежать куче разных департаментов, и возникают зависимости от апгрейда РАЗНЫХ сервисов между ними - вот в это (чуть ли не циклические зависимости, не помню точно) они и влетели
Vadim Goncharov, [27.02.17 13:56]
ну, на пальцах, сервисы A и B пользуются старой версией, их пока нельзя трогать, сервисы C и D надо апгрейдить на новую схему - но всё это для всех четверых проходит через роутер X, которыйц, получается, для одного пути апгрейдить НАДО, а для другого НЕЛЬЗЯ :)