我们有一个非常简单的应用程序,它从MQ中读取消息并将消息转换为不同的格式,然后发送到另一个MQ。
应用程序部署在Openshift环境中。因此,在任何给定时间,同一应用程序的多个实例将运行。我们在应用程序中没有使用任何数据库。
我们想要维护信息的顺序。 基本上,在读取信息时,它们按照某种顺序出现在源MQ中(例如A1-A2-A3-A4-A5),然后经过转换后,它们应该按照相同的顺序出现在out MQ中。
例如:假设事件A1已发生,然后是A2、A3、A4和A5。事件A1和A3是相互关联的,即具有某些关系。相同应用程序的多个实例正在专用队列上监听这些事件。假设有5个应用程序实例正在运行,那么有可能存在这样一种情况,即选择了A3事件的实例已经完成处理,而A1事件的处理仍未完成。因此,基本上我想确保在其前面的事件A1成功完成并发送到Out队列之前,不应该将A3处理的输出发送到Out队列。
请问是否有人能帮助我解决这个问题?
我们想要维护信息的顺序。 基本上,在读取信息时,它们按照某种顺序出现在源MQ中(例如A1-A2-A3-A4-A5),然后经过转换后,它们应该按照相同的顺序出现在out MQ中。
例如:假设事件A1已发生,然后是A2、A3、A4和A5。事件A1和A3是相互关联的,即具有某些关系。相同应用程序的多个实例正在专用队列上监听这些事件。假设有5个应用程序实例正在运行,那么有可能存在这样一种情况,即选择了A3事件的实例已经完成处理,而A1事件的处理仍未完成。因此,基本上我想确保在其前面的事件A1成功完成并发送到Out队列之前,不应该将A3处理的输出发送到Out队列。
请问是否有人能帮助我解决这个问题?