服务数据交换服务的最简单架构

时间:2015-09-18 09:20:32

标签: c# web-services architecture rabbitmq

我有一个带有Web服务(.Net)的公共服务器,它收集数据并从不同的移动应用程序上传文件,我需要将它与内部Intranet服务器同步。

内部网服务器受到防火墙和组织策略的严密保护。

我认为这是一个非常常见的情况,可以使用消息和代理,比如Rabbitmq或Nservicebus,但我不是它的专家。

由于数据只是以单向和异步的方式从外部服务器发送到内部网,我以为不会在架​​构中添加另一层间接,只是使用公开的Web服务进行服务器到服务器的通信

方法如下:

  1. Intranet windows serivce将定期轮询,并以不同的预定时间间隔外部Web服务,以了解是否有新数据(可能来自某个时间点)
  2. Web服务将使用新数据和文件列表进行响应
  3. Windows服务将通过调用进行迭代,以便将所有数据插入Intranet并下载上传的文件。
  4. 这种方法有哪些风险?外部Web服务只会响应链接到包含所有数据和文件的巨大压缩文件响应会更好吗?

    我是否应该像RabbitMq一样使用像这样简单的场景?

1 个答案:

答案 0 :(得分:1)

如果你真的在处理文件,你可能想要考虑更简单的事情。 FTP(更具体地说是sftp)可能更适合您的需求,并且可以更加简单地实现。