当前位置: 首页 > 知识库问答 >
问题:

Spring使用微服务架构

袁宜民
2023-03-14

我正在构建一个基于Spring启动中的微服务架构的项目。该项目分为多个模块,我使用了 maven 依赖项管理。

现在我想在另一个模块中使用一个模块的服务。我有很多Spring申请。例如,我有两个名为A和B的应用程序。我想在B中使用A中的类,在A中使用B中的类。在这种情况下,我使用了maven依赖项,但这并不完全是在另一个应用程序中使用服务的方式,因为我面临循环依赖。

该如何解决这个问题?

共有3个答案

袁俊弼
2023-03-14

创建一个公共实体应用程序并将该实体应用程序添加为依赖项。例如,假设您已将用户数据存储在micorservice1(MC1)中,并且在其他微服务(如MC2、MC3、MC4等)中需要此类(用户),然后您可以创建一个实体应用程序,如util,并将此依赖项添加到所需的微服务中。

史同化
2023-03-14

如果您的< code >微服务中需要一些类,我认为最好创建一个< code >共享库并将您的共享类放入其中,然后在您的< code >微服务中使用您的< code >共享库。

事实上,我认为把大多数<code>微服务</code>中需要的类放在<code>共享库中并使用该库是一个好主意。但是应该小心,因为它可能涉及到紧密耦合,这在Microservices Architecture中不是一件好事。

就我个人而言,我认为一些配置类和一些事件模型是您大多数微服务使用的很好的候选者。但我认为在微服务之间共享Serviceclasses不是一个好主意。相反,他们应该使用彼此的服务,因为他们完全独立,并且正在使用外部服务。

帅颖逸
2023-03-14

在微服务之间共享类并不是一个好主意,如果您想要替换微服务A,您必须调整微服务b。每个服务都必须实现自己的数据类,其中包含服务所需的字段。

微服务 A 和微服务 B 都可以包含一个类 Foo,但这个类可能因其字段而异。也许两者都包含字段“id”和“name”,但只有微服务 A 还需要一个字段“date”来完成他的工作。

 类似资料:
  • 我目前正在构建一个具有微服务架构的 Spring 启动应用程序。我正在寻找重用代码的干净方法。 我的想法是在共享模块中提取通用代码。(例如,微服务中的模型类继承的基类,在任何MVC控制器中重用的接口,每个绑定上下文都相同的域代码)。具体的实现和仅服务的模型类等都在子模块(微服务)级别。 我正在与maven一起构建东西,并管理依赖关系。我的问题是如何在这样的设置中构造maven模块和依赖项。 共享库

  • Kubernetes 设计之初就是按照 Cloud Native 的理念设计的,Cloud Native 中有个重要概念就是微服务的架构设计,当将单体应用拆分微服务后, 随着服务数量的增多,如何微服务进行管理以保证服务的 SLA 呢?为了从架构层面上解决这个问题,解放程序员的创造性,避免繁琐的服务发现、监控、分布式追踪等事务,Service mesh 应运而生。 微服务 下图是Bilgin Ibr

  • 我正在为我的项目使用spring boot和微服务架构。我想检查我的应用程序的运行状况。 我可以检查Eureka服务器的健康状况,但如何了解其他服务的健康状况? http://localhost:8080/acture/health 这是有效的,但http://localhost:8080/api/user-service/acture/health不起作用 请帮忙接近。 谢谢!

  • 我使用spring boot Framework创建了一个REST微服务。 我还创建了一个Eureka服务器作为另一个Spring Boot项目。并且我向Eureka服务器注册了微服务。 和我为Zuul创建了另一个Spring启动项目。这个项目也注册到Eureka服务器。 我的Eureka服务器正在运行2个注册的Spring Boot项目。Eureka服务器UI正常工作。 这里我的困惑是,我是按照

  • 让我们讨论一下微服务环境的体系结构。我们正在公司内部进行讨论,我想得到一些反馈。我认真考虑的是编排层(代码复制、更多移动部件改变api)。 网络应用- 原料药- 在这种情况下,服务不允许相互对话。业务流程层中的聚合服务 网络应用- 原料药- 这里允许服务相互对话,这里存在聚合服务。 账单属于哪里