【发布时间】:2015-12-15 09:18:35
【问题描述】:
我有一个带有 Web 服务 (.Net) 的公共服务器,该服务器从不同的移动应用程序收集数据和上传的文件,我需要将它与内部 Intranet 服务器同步。
内网服务器受到防火墙和组织策略的深度保护。
我认为这是一个非常常见的场景,可以使用消息和代理,比如 Rabbitmq 或 Nservicebus,但我不是这方面的专家。
由于数据只能以单向和异步的方式从外部服务器发送到 Intranet,我想不要在架构中添加另一层间接性,而只是使用暴露的 Web 服务来进行服务器到服务器的通信.
方法如下:
- Intranet Windows 服务会定期轮询外部 Web 服务并以不同的预定时间间隔来了解是否有新数据要获取(可能从某个时间点开始)
- Web 服务将响应新数据和文件的列表
- windows 服务将通过调用进行迭代,以获取要插入 Intranet 的所有数据并下载上传的文件。
这种方法有什么风险?外部网络服务只响应一个包含所有数据和文件的巨大压缩文件响应的链接会更好吗?
对于如此简单的场景,我是否也应该使用 RabbitMq 之类的东西?
【问题讨论】:
标签: c# web-services architecture rabbitmq