Другие места для хранения Apache схем Avro, кроме пути к классам - PullRequest
0 голосов
/ 20 февраля 2020

Возможно, кто-то уже задавал этот вопрос, но после некоторых поисков я все еще не нашел ответа.

У меня есть несколько приложений Spring Boot, которые должны взаимодействовать друг с другом посредством потоковой передачи событий и вызовов REST. Для обеспечения согласованности DTO я хотел бы использовать Apache Avro для генерации Java классов, но я не знаю, где хранить схемы Avro.

Скажем, App1 должен вызывать App2, поэтому App2 генерирует схемы DTO, которые App1 будет использовать для потребления своих данных. Где я могу хранить схемы App1, чтобы App2 мог использовать их для создания Java необходимых классов.

Точно так же App1 публикует сообщения в Redis и других приложениях, которые для чтения этих сообщений необходимо десериализовать в Java Для объекта, использующего схемы Avro, было бы очень полезно, если бы я мог где-то централизовать эти схемы.

Я использую плагин Maven и Avro maven.

Большое спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 30 марта 2020

Я нашел решение с этим проектом Spring Cloud https://github.com/spring-cloud/spring-cloud-schema-registry Он обеспечивает то, что мне нужно.

0 голосов
/ 21 февраля 2020

Вы можете создать сервис APP_commons, который будет обслуживать схемы avro, которые будут содержать соответствующие методы для генерации значений / данных, которые нужны каждому приложению.

APP_commons может быть добавлен как зависимость в pom APP1 и APP2.

Надеюсь, это поможет! Также вы можете использовать симулировать клиентов.

...