小编典典

Spring Boot项目设置设计决策

spring-boot

我们将使用Spring Boot创建服务。我们最初的想法是,每个服务(不一定是微服务)都是独立的,并作为.jar文件进行部署。Maven的建立。

我想知道什么是好的Spring Boot项目结构,因为每个服务都是独立的,但是我猜服务仍然会有一些可以/应该在服务之间重用的代码/实体。

选项:

  1. 每个服务都是一个独立的Spring Boot项目。仅实现实际服务所需的实体,控制器和工具。

良好:每项服务完全独立

坏:需要在服务之间重用的自定义实用工具类呢?服务可能需要共享的域对象呢?

  1. 所有服务都在同一代码库中创建。所有服务都可以重用所有其他服务中的实用程序,控制器等。优点:易于重用缺点:JVM现在能够服务所有服务调用吗?服务边界现在由负载均衡器处理吗?

谢谢你的帮助!


阅读 371

收藏
2020-05-30

共1个答案

小编典典

将通用逻辑放入单独的精简JAR中,将其放在您的工件存储库和版本中,与服务分开。这个公共库可以作为独立项目生存(类似于您在项目中使用的其他JAR依赖项)。

每个服务将使用此JAR作为常规依赖项。

我在团队中工作,我们在其中使用这种方法:

  1. 验证码
  2. 用于记录的AOP
  3. 一些常见的验证码
  4. 一些常见的领域对象
  5. 异常处理
2020-05-30