Java 从服务器端通知客户端的最佳实践?

Java 从服务器端通知客户端的最佳实践?,java,web-applications,server,client,client-server,Java,Web Applications,Server,Client,Client Server,在我目前的情况下,前端客户端以15秒的间隔对后端端点(java)进行api调用,以查看资源是否存在。资源将通过一些业务逻辑创建。一旦资源存在,客户端将从api获取数据并对其进行处理 然而,每15秒调用一次api似乎是一种代价高昂的性能,而且不可扩展。我想知道这方面的最佳实践是什么——客户机等待资源存在以执行某些逻辑 是否有一种方法/最佳实践可以将数据从服务器发送/推送到客户端,而不是以单向方式(服务器->客户端) 先谢谢你 是否有一种方法/最佳实践可以将数据从服务器发送/推送到客户端,而不是以单

在我目前的情况下,前端客户端以15秒的间隔对后端端点(java)进行api调用,以查看资源是否存在。资源将通过一些业务逻辑创建。一旦资源存在,客户端将从api获取数据并对其进行处理

然而,每15秒调用一次api似乎是一种代价高昂的性能,而且不可扩展。我想知道这方面的最佳实践是什么——客户机等待资源存在以执行某些逻辑

是否有一种方法/最佳实践可以将数据从服务器发送/推送到客户端,而不是以单向方式(服务器->客户端)

先谢谢你

是否有一种方法/最佳实践可以将数据从服务器发送/推送到客户端,而不是以单向方式(服务器->客户端)

您刚才描述的内容称为。它的整体思想是将观察者列表附加到可观察对象上,并在每次可观察状态发生变化时推送通知

您可以在Java后端中实现此模式,方法是公开一个订阅端点,在该端点中指定要观察的内容,以及在发生状态更改时要回调的URI,或者其他一些推送服务器通知的机制。然而,如果您想避免周期性的API查询,您可能必须解决另一个问题,即让您的“客户机”永久或临时充当这些通知的服务器

显然,您希望有一个“取消订阅”端点来释放资源。如果客户端意外地失去连接或者没有其他原因(有时订阅订阅的声音听起来像是一个好主意),你可能不得不考虑该怎么做。 是否有一种方法/最佳实践可以将数据从服务器发送/推送到客户端,而不是以单向方式(服务器->客户端)

您刚才描述的内容称为。它的整体思想是将观察者列表附加到可观察对象上,并在每次可观察状态发生变化时推送通知

您可以在Java后端中实现此模式,方法是公开一个订阅端点,在该端点中指定要观察的内容,以及在发生状态更改时要回调的URI,或者其他一些推送服务器通知的机制。然而,如果您想避免周期性的API查询,您可能必须解决另一个问题,即让您的“客户机”永久或临时充当这些通知的服务器


显然,您希望有一个“取消订阅”端点来释放资源。如果客户端意外地失去连接或者没有其他原因(有时订阅订阅的声音听起来像是一个好主意),你可能不得不考虑该怎么做。

< P>为了正确地解决这个问题,你需要实现WebSocket。 来自客户端的请求将是GET,服务器将批准它,并使用200状态代码进行确认。
然后,当服务器处理完您的请求后,它将通过websocket将数据直接广播到您的web应用程序。

为了正确解决这个问题,您需要实现websocket。 来自客户端的请求将是GET,服务器将批准它,并使用200状态代码进行确认。 然后,当服务器处理完您的请求后,它将通过websocket将数据直接广播到您的web应用程序。

查看,或。查看,或。