我有一个java项目,我正试图扩大我的项目,所以想旋转单个微服务的3个实例。
但我有个问题
解释一下
当用户登录时,从用户界面,每10秒一个api请求(针对特定用户)进入后端,该请求给出了Spring批处理作业的状态(对于已登录的特定用户,正在运行或未运行)。这仅适用于1个实例。
但是当我有 3 个实例(实例 1、2
假设10秒的第一个请求到达实例1,并且登录用户的作业正在运行-它返回作业正在运行。-正确的第二个请求在20秒到达实例2,因为实例2中没有作业正在运行(实例1中作业正在运行)它返回没有作业正在运行-不正确的第三个请求在30秒到达实例3,因为实例3中没有作业正在运行(实例3中作业正在运行)它返回没有作业正在运行-不正确
在实例1中的作业结束之前,我如何确保获得“作业正在运行”状态。
我正在使用spring微服务
请帮帮忙。
预先感谢
需要让作业一直运行,直到特定用户的作业在实例1中完成,针对每个api请求
我假设您使用的是Spring Batch,它在内存作业存储库中。
如果您想扩展,您真的应该使用一个单独的数据库来保存这些作业的元数据。
配置和部署数据库,添加dataSource,确保jobRepository使用该dataSource。然后,所有服务器都将返回相同的值。
如果做不到这一点,您至少应该确保您的负载平衡器启用了粘性会话。
这更多的是一个系统设计问题。 让我们假设我有一个微服务体系结构,我有X个实例(用于负载平衡对服务的HTTP请求)。但是,也是Kafka主题的消费者。如何避免将同一消息处理X次(X是的实例数)<如果处理是幂等的,至少一次就可以了。它不需要是,但不能是。 服务A可以是订单服务。它生成关于用户向订单主题下单的消息。 服务B可以是支付服务。它使用订单主题中的消息向用户收费。 支付订单可能是幂等操作。但是,
本文向大家介绍Spring Cloud多个微服务之间调用代码实例,包括了Spring Cloud多个微服务之间调用代码实例的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Spring Cloud多个微服务之间调用代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 现在又一个学生微服务 user 和 学校微服务 school,如果u
我有一个Spring批处理作业,它可能在多个服务器上运行。我有一个监听器,可以防止作业的多个实例在一台服务器上同时运行。但是,我要确保该作业不能同时在多台服务器上运行。 我已经找遍了,但没有找到解决这个问题的办法
我遇到了一个问题,如何使用Netflix Archaius作为多个Spring Boot微服务的配置服务器。以前,当我在使用Spring Boot构建的多服务项目中应用Eureka和Spring Cloud Config Server时,每个microservie都将通过Eureka服务的发现功能从Spring Cloud Config Server获得自己的.properties文件。但是现在我
问题内容: 我们有以下设置。 STM(Stingrey Traffic Manager)进行负载平衡+会话粘性 Weblogic的“集群” 由第三方工具处理的身份验证 因此,我不必担心有关水平缩放/运行应用程序多个实例的会话。STM / Weblogic集群确保后续请求到达同一托管服务器。 我们目前拥有的是一个整体应用程序,并且我们正在尝试转向微服务。同样,我们也不会离开当前的基础架构(即STM
问题内容: 我已经开发了两个Springboot michroservices exservice1和service2。具有service1依赖性的service2微服务。 我在service2 pom文件中添加了service1的依赖关系,并在运行service2时在eclipse中可以正常工作。但是,当我在Jenkins中部署并为service1创建项目(Jenkins Job)并以maven