И совершенно нет смысла заниматься «наследованием микросервисов». Нет смысла иметь «микросервис пользователей» и «микросервис врачей», которые «наследует» от «пользователей».
Микросервисы в основном независимы и автономны. Да, иногда они могут использовать данные друг от друга, но не сильно. Если вы обнаружите, что они постоянно переплетаются, значит, вы выбрали не тот микросервис для создания.
Классическим примером микросервисов являются такие вещи, как биллинг, аутентификация, рекомендации. В основном они отдельные. Что-то отправляет счет в биллинговую систему, а затем биллинговая система проверяет, оплачивает ли пользователь свой счет. Пользователь входит в систему с помощью системы аутентификации, и теперь они вошли в систему. Возможно, каждой другой службе необходимо проверить, вошел ли пользователь в систему, но это все, что они должны делать с аутентификацией. Системе рекомендаций нужно знать, кто вместе какие товары купил, но рекомендации она рассчитывает сама. Есть точки соприкосновения, но каждая система в основном занимается своим делом. Биллинговой системе просто нужно знать, какой пользователь вошел в систему; ему не нужно знать, использовали ли они пароль или ключ безопасности.
Также обратите внимание, что микросервисы делают что-то. Биллинговая система занимается биллингом. Система аутентификации выполняет аутентификацию. Система рекомендаций рассчитывает рекомендации. Они не «управляют данными», что бы это ни было. Вы могли бы сказать, что биллинговая система «управляет платежными данными», но, конечно, логичнее было бы сказать, что она «выставляет счета»?
Итак, ваша система — это система здравоохранения, и я полагаю, что это не хирургический робот, поэтому очевидно, что система не может «заниматься здравоохранением», и ее цель — «управлять данными», чтобы помочь работникам здравоохранения «заниматься лечением» более эффективно.
Обратите внимание, что служба, которая только управляет данными, называется «базой данных» и обычно не считается микрослужбой.
Одна из основных причин использования микросервисной архитектуры заключается в том, что разные команды могут работать независимо над разными микросервисами. Если бы в вашей компании была команда врачей и команда пациентов, возможно, имело бы смысл иметь микросервис для врачей и микросервис для пациентов, но у вас этого нет.
Вывод: вам скорее всего не нужны микросервисы.
Рекомендую посмотреть эти видео для лучшего погружения в вопрос: