Для структурированного обмена данными между микросервисами с заданным типом данных можно использовать следующие подходы:
1. Использование gRPC и Protocol Buffers (protobuf). gRPC предоставляет надежный и эффективный способ обмена данными между микросервисами, а protobuf - язык независимого описания данных. Вы можете определить типы сообщений в proto-файлах и сгенерировать соответствующий код на нужном вам языке программирования. Обновление типов может осуществляться путем изменения proto-файлов и их перегенерации.
2. Использование OpenAPI (ранее известного как Swagger). OpenAPI - это язык описания API, который позволяет описывать типы данных и их структуры. Вы можете определить типы данных в YAML или JSON файлах и использовать генераторы кода для создания клиентского и серверного кода на разных языках программирования. Обновление типов может осуществляться путем изменения OpenAPI-спецификаций и перегенерации кода.
3. Использование Avro или Apache Thrift. Оба эти фреймворка обеспечивают сериализацию и десериализацию данных на разных языках программирования. Вы определяете типы данных и их структуру в файлах схемы, а фреймворки автоматически генерируют код для обмена данными. Обновление типов может осуществляться путем изменения файлов схемы и перегенерации кода.
Все эти подходы предоставляют средства для объявления типов данных и их структур, а также возможности для обновления их в централизованном режиме. Выбор конкретного подхода зависит от ваших требований и предпочтений.