代码之家  ›  专栏  ›  技术社区  ›  vaitrafra

ASP。NET:集群环境通信问题

  •  0
  • vaitrafra  · 技术社区  · 15 年前

    我对ASP很在行。NET编程,我对我现在面临的一个问题有点困惑。

    作为我公司的开发人员,我们生活在如图所示的集群环境中

    alt text

    没什么特别的。 你看,IIS网站在evry前端服务器上是重复的。业务逻辑驻留在后端,与DB和NAS文件系统一起,位于防火墙后面。

    因此,公共空间和受保护空间之间的通信只允许通过特定的渠道、特定的请求、特定的IP和协议进行。

    现在,我们被要求建立一个网站,用户可以自定义自己的环境,上传图片 这将在他的主页上公布 以及其他功能。

    在经典配置中,用户上传一个写在站点根目录文件夹中的图像,然后HTML引用该图像来填充任何控件来显示它。 但是,当用户连接到我们的站点时,负载平衡器会选择一个特定的前端,而这与evry会话不同。 因此,用户将上传他的文件,断开连接,然后回来,却发现他的映像不见了,因为负载均衡器已将他的请求路由到另一个前端,而该前端不存在映像。

    因此,需要编写一段代码,从防火墙后面的NAS中提取文件。 上传部分很愚蠢,我能理解。

    我的问题是: 当用户连接到他的页面时,我如何在HTML中引用一个图像,该图像不在网站运行的机器上,而是在一个完全隐藏的文件系统上?

    我曾想过编写一个WCF,将图像作为字节流,但它是ASP。NET控件用于在页面上放置流内容,以及如何使用?

    我知道,向专家群体提问将为我带来实现这一目标的最佳途径。

    希望这足够清楚。

    非常感谢你的重播,请原谅我的英文表格不好。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Furqan Hameedi    14 年前

    我建议您使用一些CDN解决方案,比如 Amazon S3 或者其他你喜欢的。这样,您就不需要关心图像存储或请求的位置,它应该始终通过CDN url(当您以编程方式在CDN上上传图像时给出)进行访问,url应该位于您的数据库中。使用CDN可以让您避免在存储时可能遇到的许多问题。

    即使你不喜欢使用S3,那么你的选择足以开发一个简单的WCF/WEB服务来上传/服务图像。

    推荐文章