spring-boot - 微服务:如何拆分我的应用程序
问题描述
我正在考虑将我的应用程序拆分为微服务,但我不确定哪一部分应该有自己的微服务,或者我是否应该将几个部分重新组合成同一个。
我的课程是:
文件:树中的文件。(不同的子类,如文件夹、卡片,但在这里并不重要)
Tag : 文件的分类标签
文件注释:对文件的评论
用户:应用程序的用户。
AccessRight : 不同用户对文件的访问权限,具有不同的权限,如读、写、管理员、超级管理员。
我很确定用户逻辑应该有它自己的微服务,但是我应该将其他的重新组合成一个独特的微服务还是拆分它们?
我的旧应用程序使用 JavaEE 和 JPA,实体在同一个包中。我现在将使用 Spring Boot 并且仍然使用 JPA,但是对于微服务,使用 JPA 提供的注释来定义实体之间的差异关系似乎更加棘手,尤其是在模型被拆分为多个微服务的情况下。
这是我的不同班级之间的关系。
AccessRight :文件和用户之间的多对多关系,具有正确的属性。使用 JPA,我需要一个带有 @IdClass 的特殊类来做到这一点。
文件和标签:多对多关系。
FileNote :文件和用户之间的多对多关系以及其他属性,例如注释(在 [0-5] 之间)和评论。
用户和文件:定义文件所有者的简单 oneToMany 关系。
我的应用程序在这里可用http://vps603552.ovh.net/ShareUrDoc/root.xhtml 它仍在建设中,但您可以连接登录:测试,密码:通过。
它是一个仅用于教程 url 的书签应用程序,允许用户研究其他人的文件夹。用户还可以将任何用户的文件夹链接到他们自己的树中,允许其他用户管理他们选择的文件夹等等。
比您可以激活管理模式来管理文件。
这是一个 github 存储库,其中包含我在此处描述的类,我只保留了必要的。
https://github.com/kaizokun/kaizokun-shareUrDocModelDemo/tree/master/shareurdoc-model
感谢您的建议。
解决方案
推荐阅读
- java - 扫描仪在返回之前需要两个输入
- c# - DotNetCore API 中基于属性的授权
- sas - 在SAS中如何在交叉表中组合变量的多个级别
- wordpress - 将 post_parent 添加到 Wordpress Rest Api 中的特定帖子类型
- spring-boot - 从 jenkins 访问 kubernetes pod 端点
- sql - 如何调试 20k 行存储过程代码
- acumatica - 禁用 Acumatica API 插入的活动编号序列或切换到手动
- html - 使用 css (designing) + rails 将 html 页面转换为 docx
- android - 如何从 Fresco 的 SimpleDraweeView 中获取图像 URL?
- java - 使用 Jar 文件执行 AnyLogic - 运行速度最快