Java 这个用例适合项目反应堆吗?

Java 这个用例适合项目反应堆吗?,java,project-reactor,Java,Project Reactor,我开始深入研究ProjectReactor,以了解它是否适合我的用户案例,但我不确定它是否适合我的用户案例。 我的用户案例有点复杂: 应用程序A可以通过http向应用程序B发送一些消息 每条消息都是对文档的操作(例如插入doc1、删除doc1) 应用程序B接收消息,执行一些操作(主要检查内容),如果一切正常,则将消息转发给应用程序C。如果应用程序C响应正常,则应用程序B通知A(使用http调用)消息已发送给C 应用程序C不在我的控制范围之内 应用程序B是我必须实现的;它有一些额外的要求 应用程序

我开始深入研究ProjectReactor,以了解它是否适合我的用户案例,但我不确定它是否适合我的用户案例。 我的用户案例有点复杂:

应用程序A可以通过http向应用程序B发送一些消息 每条消息都是对文档的操作(例如插入doc1、删除doc1) 应用程序B接收消息,执行一些操作(主要检查内容),如果一切正常,则将消息转发给应用程序C。如果应用程序C响应正常,则应用程序B通知A(使用http调用)消息已发送给C

应用程序C不在我的控制范围之内

应用程序B是我必须实现的;它有一些额外的要求

应用程序B必须与A异步;i、 e.A不能等待B向C发送消息

如果B在文档D1上发送插入消息,并且从a接收到文档D1上的删除消息,则删除消息必须等待插入的执行,并且只有在执行成功后,B才能发送删除消息。如果D1到C的插入消息超时,则必须重新调度该消息,并在成功插入后将取消消息排入队列。如果插入消息面临超过n个超时,则必须保存插入和删除消息,以供以后脱机处理。应用程序A保证插入和删除消息以正确的顺序发送给B

B必须允许并发执行,即在文档D1上运行的消息不得阻止在具有不同id的消息(即D2)上运行的消息

目前,我正计划在应用程序B中使用一个队列,当消息到达时,它将被放入队列中,稍后再进行处理。我的想法是开发一个反应式应用程序(使用SpringProjectReactor),该应用程序管理(在应用程序B内部)与C的通信,但我一直忙于错误处理和重试

有人能告诉我这是否是一个适合反应堆项目的用例吗?如果是,有人能给我一些具体的建议来处理我的需求吗

非常感谢