Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 轻量级体系结构,从不经常更改的源提供实时更新_Rest_Design Patterns_Architecture_Websocket_Middleware - Fatal编程技术网

Rest 轻量级体系结构,从不经常更改的源提供实时更新

Rest 轻量级体系结构,从不经常更改的源提供实时更新,rest,design-patterns,architecture,websocket,middleware,Rest,Design Patterns,Architecture,Websocket,Middleware,我正在从事一个项目,该项目将开发一个中间件服务,为我们正在开发的特定移动应用程序提供实时更新。 我们当前获取应用程序源代码更新通知的方法是,当应用程序处于后台模式时使用推送通知(Apple ASN和Google gcm/fcm),当应用程序处于前台时使用web套接字,并使用REST api获取从中间件到设备的日期。 中间件应该是一个松散耦合的系统(从出口自主运行),它解析后端源。如果有任何状态更改,“解析器系统”将把这些更新推送到一个提示中,该提示为push/web套接字/REST插座提供信息

我正在从事一个项目,该项目将开发一个中间件服务,为我们正在开发的特定移动应用程序提供实时更新。 我们当前获取应用程序源代码更新通知的方法是,当应用程序处于后台模式时使用推送通知(Apple ASN和Google gcm/fcm),当应用程序处于前台时使用web套接字,并使用REST api获取从中间件到设备的日期。 中间件应该是一个松散耦合的系统(从出口自主运行),它解析后端源。如果有任何状态更改,“解析器系统”将把这些更新推送到一个提示中,该提示为push/web套接字/REST插座提供信息

这个设计模式是否有一个特定的名称,我可以在其中阅读有关实现建议、缺点或类似的内容?
有没有更好的方法可以做到这一点?

它与一般的发布-订阅(观察者)模式有很大不同吗?您的解析器或中间件是如何知道某些东西发生了变化的?它是否存储以前获得的值,或者后端本身是否将更改事件推送到中间件中?在我看来,中间件不应该存储数据,而更改检测应该由后端负责。中间件只需在将有效负载推送到devices@faizan后端无法保持状态,因此中间件必须执行此任务以观察是否发生了更改。为此,我们将在noSQL数据库中存储特定请求的结果,并每隔t秒对它们进行比较。这与一般的发布-订阅(观察者)模式有很大不同吗?您的解析器或中间件是如何知道发生了变化的?它是否存储以前获得的值,或者后端本身是否将更改事件推送到中间件中?在我看来,中间件不应该存储数据,而更改检测应该由后端负责。中间件只需在将有效负载推送到devices@faizan后端无法保持状态,因此中间件必须执行此任务以观察是否发生了更改。为此,我们将在noSQL数据库中存储特定请求的结果,并每t秒比较一次。