我正在使用spring Boot将所有旧的单一应用程序转换为共享的微服务。为了帮助维护所有的应用程序,我希望使用位于父目录根目录中的单个gradle文件。我偶然发现了spring boot Multi-Module项目https://spring.io/guides/gs/multi-module/并开始了这条路。
我的问题是,多模块项目是否可以用于共享单个父级gradle文件以及共享库,并且仍然能够为每个微服务生成单独的JAR?我得到的印象是,当使用多个模块时,只会产生一个单一的jar,所有的模块都将是该单一jar的一部分。
我有几点。
我得到的印象是,当使用多个模块时,只会产生一个单一的jar,所有的模块都将是该单一jar的一部分。
这是真的,在多模块gradle或maven项目中,每个模块都不是微服务,在gradle中每个模块都有各自的maven pom.xml或build.gradle。每个模块都有自己的jar文件。在一个典型的微服务项目中,模块可以是包含所有资源endpoint的资源层、服务层、存储库层、实体层等。将会有一个根项目,它将具有基于应用程序构建工具的父pom.xml或build.gradle文件。此外,对于spring boot项目,包含所有模块的父项目将生成一个包含Boot-INF的fat jar,在其中您将获得模块化的jar文件以及其他第三方库。
我正在为下一个项目阅读Spring微服务。Tut说“架构风格主要应用程序分为一组称为微服务的子应用程序。一个大型应用程序分为多个协作过程。”。所以我们已经有了一个框架maven多模块在那里,我在我的经验中分离了项目。即使是。为什么我们需要微服务来分离一个项目?。请区分它。提前感谢…
我想知道每种方法的利弊是什么。例如,在graphQL中包含所有内容似乎有点多余,因为我们将在每个服务中复制模式的部分。另一方面,我们使用GraphQL来避免一些REST缺陷。我们担心拥有RESTendpoint会抵消从GQL获得的优势。 有人遇到过类似的困境吗?我们都没有使用GraphQL的经验,所以这里是否有一些明显的利弊我们可能会遗漏? 提前道谢!
更准确地说,在我看来,BDD测试应该验证业务逻辑,而且只验证业务逻辑。在许多框架中,BDD测试场景是由滑板持有者用DSL创建的。BDD测试倾向于收敛于排他性的“不了解基础设施”的实践。另一方面,集成测试应该验证解决方案是否与目标基础结构匹配(它们由DevOps完成?),并且只与基础结构匹配。当业务功能通过微服务“分布”时,您应该模拟BDD测试环境(应该是本地环境)中的几乎所有内容(infra和bu
问题内容: 我们有几个微服务项目,每个项目都是独立的(在单独的spring boot服务器上运行,公开其余服务,使用单独的DB模式…) 我们使用Maven管理依赖关系。 有一个父pom将每个微服务声明为模块是一个好主意吗?因此,有助于管理公共依赖项(例如,在每个项目中都使用lib servlet-api witch,将其全部删除并仅在父pom中声明) 问题答案: 多模块父pom的“问题”是,没有复
我们有几个项目是微服务,每个项目都是独立的(在单独的spring boot服务器上运行,公开rest服务,使用单独的DB模式…) 我们使用maven来管理依赖关系 让父pom将每个微服务声明为模块是个好主意吗?因此有助于管理公共依赖项(就像每个项目中使用的lib servlet-api女巫一样,将其全部删除并仅在父pom中声明它)
微服务作为一种软件架构风格正在获得牵引力,它将更好地支持持续交付,为快速部署和关注点分离提供模型。 Vert.x 3和Vert.x-Apex为构建微服务提供了一个有趣的模型。如其中一个例子所示,一个简单的verticle可以公开一个HTTP服务,因此REST服务是可用的。垂直绑定它自己的tcp端口。 当扩展到多个微服务来支持一个完整的应用程序时,您最终会有许多选择。对于哪种风格能够最终支持连续交付