прост есть распространенная технология с которой сложно продолбаться
могу рассказать норм историю про продолбаться и JSON (на самом деле JS конечно, не JSON). В базе решили генерировать околослучайные bigint, они получались большими, и на фронте для них проявлялась потеря точности т к в JS все number. А выглядело это так, что фронт получил с бека id сущности, а потом по нему же ничего не нашел в бекенде.
А если серьезно, то я ничего против JSON не имею, опять же поинт в том что использование бинарного протокола перестало быть болью. Есть нормальный способ поддерживаемо его использовать. Обычно же и бинарные версии жсона не сразу начинают использовать, а когда что-то упираться начинает. Так что да, как всегда все от задачи. Иногда имеет смысл сразу использовать бинарный протокол если понятен путь развития продукта и есть задачи где он хорошо впишется. А можно и с JSON начать, при необходимости пожать его или пересесть на бинарный протокол. Того же тулинга вокруг GRPC понаписано очень много, может быть достаточно просто затыкать дырки готовыми решениями
Ты кстати рассказывал про задачу с развесистыми JSON документами, их можно вполне и в proto хранить/передавать. На больших документах особенно заметно разницу будет. Чем кстати закончилась история с монгой?