找回密码
 立即注册

QQ登录

只需一步,快速开始

主机交流Megalayer兑换位02兑换位03
兑换位04兑换位05兑换位06兑换位07
查看: 272|回复: 0

华纳云:WindowsPlatform网站图片服务器架构的演变。

[复制链接]

98

主题

10

回帖

604

积分

高级会员

积分
604
发表于 2021-1-22 22:47:33 | 显示全部楼层 |阅读模式
建立在 Windows平台之上的网站,很多行业的架构师都会认为它是“保守的”。大多数原因是由于微软技术系统的封闭和部分技术员的目光短浅。长期以来缺乏对开源软件的支持,因此只能“闭门造车”,这样很容易形成思维的局限和缺陷。以图片服务器为例,如果前期没有容量规划和可扩展设计,那么随着图片文件的不断增加和访问量的增加,由于设计中在性能、容错/容灾、扩展性等方面的缺陷,后续的开发、运营工作将出现许多问题,严重时甚至会影响到网站的正常运行和互联网公司的发展(这绝不是危言耸听)。
为什么选择 Windows平台来构建网站和图片服务器,主要是因为创始团队的技术背景,早期的技术人员可能对. NET比较熟悉,或者主管认为 Windows/. NET的易用性、“短而快”的开发模式、人才成本等方面与创业初期的团队比较匹配,自然选择 Windows。在业务扩展到一定规模之后,要将整个体系结构迁移到其他平台也非常困难。当然,在构建大规模互联网时,最好选择开放源码架构,因为有许多成熟的例子和开放源码生态的支持,可以避免重复工作和花费授权成本。在难以移植的应用中,比较推荐 Linux、 Mono、 Mysql、 Memcahed…混合架构,它们同样支持高并发访问和大数据。为什么选择 Windows平台来构建网站和图片服务器,主要是因为创始团队的技术背景,早期的技术人员可能对. NET比较熟悉,或者主管认为 Windows/. NET的易用性、“短而快”的开发模式、人才成本等方面与创业初期的团队比较匹配,自然选择 Windows。在业务扩展到一定规模之后,要将整个体系结构迁移到其他平台也非常困难。当然,在构建大规模互联网时,最好选择开放源码架构,因为有许多成熟的例子和开放源码生态的支持,可以避免重复工作和花费授权成本。在难以移植的应用中,比较推荐 Linux、 Mono、 Mysql、 Memcahed…混合架构,它们同样支持高并发访问和大数据。
单机时代的图片服务器架构(集中式)
创业初期由于时间紧迫,开发者的数量有限等原因。因此,一般直接在 website文件所在的目录下,建立一个 upload子目录,以保存用户上传的图片文件。若要对业务进行再细分,可以在 upload目录下创建另一个不同的子目录。比如 upload\ QA, upload\ Face等等。
在数据库表中保存的也是”upload/qa/test.jpg”这类相对路径。
用户的访问方式如下:
http://www.yourdomain.com/upload/qa/test.jpg
程序上传和写入方式:
程序员A通过在web.config中配置物理目录D:\Web\yourdomain\upload 然后通过stream的方式写入文件;
程序员B通过Server.MapPath等方式,根据相对路径获取物理目录 然后也通过stream的方式写入文件。
优点:实现起来最简单,无需任何复杂技术,就能成功将用户上传的文件写入指定目录。保存数据库记录和访问起来倒是也很方便。
缺点:上传方式混乱,严重不利于网站的扩展。
针对上述最原始的架构,主要面临着如下问题:
随着上传目录中文件数量的增加,如果容量不足,很难扩展分区(如磁盘D)的容量。您只能在停机后更换容量更大的存储设备,然后导入旧数据。在部署新版本(部署新版本前需要备份)和每天备份网站文件时,需要同时操作上传目录中的文件。如果在后台部署由多个Web服务器组成的负载均衡集群,集群节点之间的文件实时同步将是一个难题。
集群时代的图片服务器架构(实时同步)
在网站下,创建一个名为upload的新虚拟目录。由于虚拟目录的灵活性,可以在一定程度上代替物理目录,并且与原有的图片上传和访问方式兼容。用户的访问方式还是:.优势:配置更灵活,可以兼容旧版的上传和访问方式。由于虚拟目录,您可以指向任何本地驱动器号下的任何目录。通过这种方式,可以通过访问外部存储来扩展单台机器的容量。
缺点:当部署在由多个网络服务器组成的集群中时,网络服务器(集群节点)(在虚拟目录下)之间需要文件的实时去同步。由于同步效率和实时性的限制,很难保证每个节点上的文件在某个时间完全一致。

华纳云提供优质的香港服务器、美国/香港云服务器、香港高防服务器
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|GDC主机交流论坛_GDC之家

GMT+8, 2024-4-19 21:19 , Processed in 0.057261 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表