大型网站架构模式有哪些

2025-01-31 15:14:45
推荐回答(2个)
回答1:

1.分布式
对于大型网站,分层和分割的一个主要目的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调用协同工作。分布式意味着可以使用更多的计算机完成同样的功能,计算机越多,CPU、内存、存储资源也就越多,能够处理的并发访问和数据量就越大,进而能够为更多的用户提供服务。
2.分层
分层是企业应用系统中最常见的一种架构模式,将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过上层对下层的依赖和调用组成一个完整的系统。
分层结构在计算机世界中无处不在,网络的7层通信协议是一种分层结构;计算机硬件、操作系统、应用软件也可以看作是一种分层结构。在大型网站架构中也采用分层结构,将网站软件系统分为应用层、服务层、数据层。
3.分割
如果说分层是将软件在横向方面进行切分,那么分割就是在纵向方面对软件进行切分。
网站越大,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分割开来,包装成高内聚低耦合的模块单元,一方面有助于软件的开发和维护;另一方面,便于不同模块的分布式部署,提高网站的并发处理能力和功能扩展能力。
4.集群
使用分布式虽然已经将分层和分割后的模块独立部署,但是对于用户访问集中的模块(比如网站的首页),还需要将独立部署的服务器集群化,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。
5.缓存
缓存就是将数据存放在距离计算最近的位置以加快处理速度。缓存是改善软件性能的第一手段,现代CPU越来越快的一个重要因素就是使用了更多的缓存,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。
6.异步
计算机软件发展的一个重要目标和驱动力是降低软件耦合性。事物之间直接关系越少,就越少被彼此影响,越可以独立发展。大型网站架构中,系统解耦合的手段除了前面提到的分层、分割、分布等,还有一个重要手段是异步,业务之间的消息传递不是同步调用,而是将一个业务操作分成多个阶段,每个阶段之间通过共享数据的方式异步执行进行协作。

回答2:

  • 扁平or树型:一说到网站结构,大家都会提到扁平结构和树型结构,言必称“结构扁平化”,这些指的是物理结构,即基于内容聚合的目录及文件位置决定的结构。其实对于百度搜索引擎来说,只要结构合理、有逻辑性、内容有规律可循都可以,都是友好的。

  • 链接结构:相对于物理结构,就要说到逻辑结构:即通过内部链接形成的链接结构,逻辑结构才是搜索引擎最关注的。对于一个网站来说,网页仅仅可以通过首页——目录1——目录2一层一层follow到是远远不够的,一个优秀的链接结构应该是网状的。

  • 首页链接应该链向重要的频道页,频道页再链向下面的节点页或普通页面。同时,频道页、节点页和普通页面都应该可以链回到首页

  • 无论哪些页面之间互相链接,都需要一个描述恰当的锚文本

  • 链接不要放在JS、FLASH等搜索引擎不可见的位置,使用图片做链接入口应该完善alt标签

  • 百度搜索引擎目前仅支持对部分JS和FLASH进行解析,绝大多数放在JS和FLASH里的链接都是获取不到的

  • 为重要页面留更多入口。百度搜索引擎认为,获得更多内部投票的网页相对来说更加重要

  • “离首页越近”的网页,越容易受到百度重视。这个“近”指的是页面离首页的点击距离。即使URL所在目录层级较深,只要在首页有入口,百度也认为这是一个非常重要的页面。

  • 不要产生可怕的孤岛页面。虽然百度在提交入口、社会化挖掘方面做了许多工作,但链接抓取依然是百度获得新页面的最重要渠道