目前我有一个 JHipster 3.3 单体应用程序,我想迁移到微服务架构。我已经创建了注册表、网关和 uaa 服务。现在我需要将我的应用程序的核心业务迁移到微服务中。有执行它的设施吗?我可以自动生成吗?
最佳答案
您可以将单体应用转换为服务,或者从您的实体定义中重新生成它。
第一种方法需要对 Spring Cloud 有很好的了解,您首先要使用 @EnableEurekaClient
注释您的应用程序,将 Spring Cloud 上缺少的依赖项添加到您的 pom.xml
,将缺少的属性添加到您的 application*.yml
, 创建 bootstrap*-yml
文件。然后你会把你的客户端部分移动到你的网关。这并不容易,尤其是如果您是 Spring Cloud 的新手。
第二种方法要求您生成一个微服务应用程序,其选项与您的整体式应用程序相同,然后将您的 .jhipster
复制到其中。包含您的实体定义的文件夹并重新生成它们运行 yo jhipster:entity <entityName>
以与您最初创建它们相同的顺序为每个实体生成 htem,然后还在网关上生成 htem 以生成客户端部分。
您还应该花时间考虑为什么要迁移,如果您将整体应用程序变成单一服务,那么这可能不是一个好主意,因为您只会增加复杂性,只有在您计划时才有意义添加更多服务和/或将您的整体拆分为多个服务。 O'Reilly 有一本很好的免费电子书和视频:“微服务反模式和陷阱”
关于migration - jhipster 3 从单片服务迁移到微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39224930/