我正在构建一个基于Spring启动中的微服务架构的项目。该项目分为多个模块,我使用了 maven 依赖项管理。
现在我想在另一个模块中使用一个模块的服务。我有很多Spring申请。例如,我有两个名为A和B的应用程序。我想在B中使用A中的类,在A中使用B中的类。在这种情况下,我使用了maven依赖项,但这并不完全是在另一个应用程序中使用服务的方式,因为我面临循环依赖。
该如何解决这个问题?
创建一个公共实体应用程序并将该实体应用程序添加为依赖项。例如,假设您已将用户数据存储在micorservice1(MC1)中,并且在其他微服务(如MC2、MC3、MC4等)中需要此类(用户),然后您可以创建一个实体应用程序,如util,并将此依赖项添加到所需的微服务中。
如果您的< code >微服务中需要一些类,我认为最好创建一个< code >共享库并将您的共享类放入其中,然后在您的< code >微服务中使用您的< code >共享库。
事实上,我认为把大多数<code>微服务</code>中需要的类放在<code>共享库中并使用该库是一个好主意。但是应该小心,因为它可能涉及到紧密耦合
,这在Microservices Architecture
中不是一件好事。
就我个人而言,我认为一些配置
类和一些事件模型
是您大多数微服务
使用的很好的候选者。但我认为在微服务
之间共享Service
classes不是一个好主意。相反,他们应该使用彼此的服务,因为他们完全独立,并且正在使用外部服务。
在微服务之间共享类并不是一个好主意,如果您想要替换微服务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)。 网络应用- 原料药- 在这种情况下,服务不允许相互对话。业务流程层中的聚合服务 网络应用- 原料药- 这里允许服务相互对话,这里存在聚合服务。 账单属于哪里