Унифицированная модель данных и её применение в микросервисной архитектуре - Bales, Alexander Innokentievich (Современные информационные технологии и ИТ-образование; Том 16 № 2 (2020): Современные информационные технологии и ИТ-образованиеDO - 10.25559/SITITO.16.202002.416-425, 2020)
В настоящее время широкое распространение получила микросервисная архитектура, появляется множество приложений (микросервисов), которые так или иначе между собой взаимодействуют. Микросервисы, как правило, объединяются в целые платформы. Встает острый вопрос взаимодействия их друг с другом, хранения и обмена справочными данными. Эталонного решения данной проблемы не существует, на данный момент, но в данной работе описан симбиоз различных подходов, а также приведена конкретная реализация – унифицированная модель справочников в микросервисной платформе, которая позволяет обмениваться справочными данными десяткам микросервисов (на момент написания статьи количество сервисов в платформе составляет 57 штук). Была спроектирована метамодель, с помощью которой описываются сущности справочников: справочники, категории, связи между справочниками и между сущностями справочников. Архитектура такой модели микросервиса справочников позволяет абстрагироваться от конкретных реализаций СУБД, таким образом не происходит «сильной связности» с SQL или NoSQL базой данных. Данный микросервис имеет искусственно введеные ограничения запись данных от сторонних микросервисов. Миграция данных осуществляется вручную посредством Liquibase скриптов, что позволяет поддерживать справочники в одинаковом состоянии на всех стендах разработки, быстро и легко восстанавливать до любого состояния слепки справочников. Дальнейшее развитие микросервиса справочников может иметь следующий вид: разработка UI форм для ручного заполнения справочников и сохранение новых данных в модели или в скрипты Liquibase, что уже на данном этапе является очень актуальной проблемой для группы сопровождения и администраторов микросервисной платформы.