Java reactivex和RESTWeb服务

Java reactivex和RESTWeb服务,java,rest,rx-java,Java,Rest,Rx Java,我遇到的情况是,应用程序有一个值列表,例如,一个书籍列表,它会不时地变化。它还有一个REST端点,在这里发布这些信息 还有其他几个应用程序使用这些信息,它们应该知道我的应用程序中的任何书籍是否发生了更改 反应型风格是否适合这种情况?起初,基于观察者模式,我这么认为。但考虑到只涉及基于web服务交换信息的应用程序,这是一种好方法吗 我还研究了改造,它可以将端点转换为java接口。但我发现的所有例子都与android应用程序有关 那么,在这种情况下,这种方法是否可取?如果是的话,有人能推荐一本书或任

我遇到的情况是,应用程序有一个值列表,例如,一个书籍列表,它会不时地变化。它还有一个REST端点,在这里发布这些信息

还有其他几个应用程序使用这些信息,它们应该知道我的应用程序中的任何书籍是否发生了更改

反应型风格是否适合这种情况?起初,基于观察者模式,我这么认为。但考虑到只涉及基于web服务交换信息的应用程序,这是一种好方法吗

我还研究了改造,它可以将端点转换为java接口。但我发现的所有例子都与android应用程序有关

那么,在这种情况下,这种方法是否可取?如果是的话,有人能推荐一本书或任何资源吗

编辑:

既然我将有一个出版书籍的端点,我是否应该把它交给一个可观察的端点,当另一本书可用时,通知所有订阅者这个事件,然后决定他们是否应该做些什么? 如果是这样的话,一个客户端(例如angularjs应用程序或另一个java应用程序)如何订阅这个可观察的应用程序


我希望我能说得更清楚一点。

我想你把Rx编程和网络问题搞混了。如果您的服务器以X的时间间隔通过网络发送数据,那么正如@TheCoder所说,您可以监听套接字上的更改,并在
PublishSubject
的帮助下触发rx流上的事件。但我认为真正的问题在于服务器发送数据的方式

如果您必须查询服务器以了解您的图书列表是否已更新,那么当您的目标是实时更新时,触发此类调用不是非常有效。在这些类型的场景中,a更适合于这样的场景:您的客户机只是充当接收者,并且可以在服务器推送新值(在您的案例中是一个新的图书列表)后立即更新自身。您可以找到类似或的工具来实现这些目标


为了让您快速了解该系统的工作原理,您可以查看。

您询问的是后端架构还是客户端架构还不清楚。不管怎么说,这个问题太宽泛了
Rx
不是关于应用程序的一般架构,它只是一个工具,可以解决特定问题。可能需要在客户端和服务器之间保持套接字连接,以便在服务器中的数据发生更改时通知所有客户端。。我想你在这里真正需要的是
类似于套接字的东西
,或者确切地说是
套接字
。。!如果您通过网络执行此操作,则需要考虑网络客户端如何对事件作出反应。使用
可观察流
可以很好地响应数据的变化,但网络边界可能会导致问题。我认为您需要更具体一些-我想您的服务器是
Java
,但您的客户机是什么?您是在使用HTTP 1.1还是可以使用能够产生数据流的WebSocket、
ServerSentEvents
HTTP2