Я думаю о том, чтобы разделить свое приложение на микроуслуги, но я не уверен, какая часть должна иметь свой собственный микросервис или я должен перегруппировать несколько частей в одну.
Мои занятия:
Файл: файл в дереве. (разные подклассы, такие как папка, карта, но здесь это не очень важно)
Метка: классификационная метка для файла
Примечание к файлу: комментарии к файлу
Пользователь: пользователь приложения.
AccessRight: права доступа к файлу для разных пользователей с разными правами, такими как чтение, запись, администратор, superAdmin.
Я почти уверен, что логика пользователя должна иметь свой собственный микросервис, но следует ли мне сгруппировать остальные в уникальный микросервис или разделить их?
Мое старое приложение использует JavaEE и JPA, объекты были в одном пакете.
Сейчас я буду использовать весеннюю загрузку и все еще JPA, но с микросервисами кажется более сложным определить различия между сущностями с помощью аннотаций, предоставляемых JPA, особенно если модель разбита на несколько микросервисов.
Вот отношения между моими разными классами.
AccessRight: отношения ManyToMany между File и User с правильным атрибутом. С JPA мне нужен специальный класс с @IdClass, чтобы сделать это.
Файл и метка: отношения ManyToMany.
FileNote: отношение ManyToMany между File и User с другими атрибутами, такими как примечание (между [0-5]) и комментарием.
Пользователь и файл: простое отношение oneToMany для определения владельца файла.
Мое приложение доступно здесь http://vps603552.ovh.net/ShareUrDoc/root.xhtml
он все еще находится в стадии разработки, но вы можете подключиться с помощью логина: test, password: pass.
Это приложение для закладок, предназначенное только для URL-адресов учебных пособий, которое позволяет пользователям исследовать папки других людей. Пользователи также могут сделать ссылку на папку любого пользователя в собственном дереве, позволить другим пользователям управлять выбранной папкой и т. Д.
Чем вы можете активировать режим администратора для управления файлами.
Вот репозиторий github с классами, которые я здесь описал, я сохранил только основные.
https://github.com/kaizokun/kaizokun-shareUrDocModelDemo/tree/master/shareurdoc-model
Спасибо за советы.