Насколько я понимаю, вы делаете ваши микросервисы слишком гранулированными. У вас будет много проблем при реализации этого способа.
ИМХО , если Record
относится к Student
И принадлежит к тому же бизнес-контексту , они принадлежат тот же микросервис.
Как сказал Дэвид в комментариях, концепция ограниченного контекста может (действительно) помочь вам.
В любом случае, представьте, что вы хотите следовать той линии, которую предлагаете. Если Record
принадлежит Микросервису B, и вы должны ссылаться на него по составу где-нибудь в Микросервисе A, единственное, что вам нужно, это его первичный ключ. Не весь объект.
Было бы что-то вроде этого:
Микросервис A :
Студент. java
public class Student {
private Integer id;
private String name;
private Integer grade;
private Integer recordId;
// getters and setters omitted for brevity
}
Микросервис B :
Запись. java
public class Record {
private Integer recordId;
private List<Integer> marks;
private Integer behaviourId;
// getters and setters omitted for brevity
}
И т. Д.
Но, как я уже сказал, возможно, это не лучший подход.
См. здесь хорошая статья о ограниченном контексте.