我有 2 个应用程序:
- 桌面(java)
- 网络(symfony)
我在桌面应用程序中有一些数据必须与网络应用程序中的数据一致。
所以基本上我从桌面应用程序发送一个 POST
请求到网络应用程序以更新在线数据。
但问题是,当我发送请求时,互联网并不总是可用,同时我也无法阻止用户更新桌面数据
到目前为止,这就是我的想法,以确保在互联网可用时同步数据。
我的方向对不对?
如果没有,我希望你们让我走上正确的道路,以专业的方式实现我的目标。
关于此类主题的任何链接将不胜感激。
最佳答案
在这种情况下,有用的模式是假设默认情况下发送数据是异步的。收集后的数据存储在某个中间结构中,等待合适的时刻发送。我认为队列可能很有用,因为它可以作为数据库的后端,并防止在发送服务器发生故障时丢失数据。单独的线程(例如作业)检查队列中的数据,如果存在,则读取它们并尝试发送。如果发送正确执行,则数据将从队列中删除。如果发生故障,数据将保留在队列中,并尝试在下一次发送它们。
关于Java:在网络中断时在线更新数据的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554108/