当前位置:  开发笔记 > 编程语言 > 正文

服务器推送与客户端拉取代理服务器拓扑

如何解决《服务器推送与客户端拉取代理服务器拓扑》经验,为你挑选了1个好方法。

我需要创建一个包含2个组件的系统:

处理和存储数据的单个服务器.它还定期向代理发送更新

安装在远程端点的多个代理程序.这些数据收集(通常但不总是)长时间运行的数据,这些数据需要到达服务器

我正在使用C#.NET,理想情况下我想使用符合标准的通信方法(即可以在理论上与Java一起使用的方法,因为我们将来也可能使用Java代理).有没有Web服务的替代品?我有什么选择?

我看到它的方式我有3个选项使用Web服务,并做了以下观察:

客户拉

代理不需要开放端口,因为它像客户端一样

需要轮询服务器以获取更新

服务器推送

在代理程序中打开端口,因为它充当服务器

服务器必须轮询代理以获取结果

混合动力

Open port at the agent, as it acts like both a client and a server

No polling; server pushes out updates when required, client sends results when they are available

The 'hybrid' (where agents are both client and server seems the obvious choice - but this application will typically be installed in enterprise and government environments, and I'm concerned they may have an issue with opening a port at the agent. Am I dwelling too much on this?

Are there any other pros and cons I've missed out?



1> sarnold..:

我们的朋友在http://www.infrastructures.org发誓基于拉动机制:http://www.infrastructures.org/papers/bootstrap/bootstrap.html

他们更喜欢客户端拉过服务器推送的一个主要原因是客户端可能已关闭,客户端必须(通常)应用服务器推送的所有操作.如果这个标准在你的情况下并不重要,也许他们的结论不会是你的结论,但我认为值得阅读他们论文中的"Push vs Pull"部分来自己确定.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有