`
taojingrui
  • 浏览: 67699 次
  • 来自: ...
社区版块
存档分类
最新评论

大型WEB系统架构设计的总结

 
阅读更多

总结一下自己对大型WEB系统架构设计的想法:

 

 

1. 一般大型WEB系统的两个共通点:

1) 海量的web访问(以亿为单位的PV)

2)系统需要保存海量数据,这些数据被频繁访问

 

2. 前端负载均衡考虑:

1)DNS负载均衡 —— 为一个DNS关联多个服务器的IP地址,当客户端发起DNS查询时,对于同一DNS,不同的客户端得到不同的服务器IP地址,从而达到负载均衡的目的。

 

DNS负载均衡有一个问题,就是没有考虑容错,如果后台的某台Web服务器出现故障,DNS服务器仍然会把DNS 请求分配到这台故障服务器上,导致不能响应客户端。即使及时修改了dns设置,还是要等待足够的时间(刷新时间)才能发挥作用,在此期间保存了故障服务器地址的客户计算机将不能正常访问服务器。

 

2)IP负载均衡—— 基于LVS的3种实现。

 

LVS-NAT:把用户请求报文中目的ip地址改为内网的web服务器地址后发送到内网的web服务器上。在把内网web服务器上响应报文的原地址改为NAT服务器的地址。据说LVS-NAT的扩充能力有限,当服务器结点数目升到20时,LVS主机本身有可能成为系统的新瓶颈,因为在LVS-NAT中请求和响应封包都需要通过均衡服务器(LVS主机/Director)。

 

LVS-TUN:均衡服务器把从客户端收到的报文再用ip进行封装,然后将报文通过IP隧道传递到其中某个web服务器上,真正的web服务器处理请求,并将response直接回复给发起请求的客户端。这种做法的好处是真正的web服务器可以不和均衡服务器在一个网络内,且不需要通过均衡服务器转发response给客户端,性能较NAT好,但需要真正的web服务器支持IP Tunneling(一般Linux都支持)。

 

 

LVS-DR:让均衡服务器和实际后端web服务器拥有相同别名的IP地址,均衡服务器只需要修改MAC地址,然后将客户端请求分发到不同的后端web服务器上。这种模式,客户的请求报文是通过均衡服务器,但响应的response就直接发往客户,且没有IP Tunneling的开销,所以在3种负载均衡方案中,效率最高,但必须要求均衡服务器(Director)与后端web服务器(Real Server)都有一块网卡连在同一物理网段上。

 

3. 前端异步处理:

1)异步servlet的引入——Web2.0,Ajax技术的大量使用,产生了海量的响应时间要求不高的数据请求。对于这种情况,采用JEE6的异步servelt可以解决这个问题。

http://taojingrui.iteye.com/admin/blogs/548624

2)Asynchrony Everywhere——通过JMS,分离前端和后端处理。

http://taojingrui.iteye.com/admin/blogs/1178231

 

4. 分布式缓存:

高访问的数据放到分布式缓存中,memcached、TT、hazelcast...

 

5. 数据库的考虑:

1)主从复制——这种模式下,需要考虑读写分离,也就是说让写操作要作用在主数据库上。

2)垂直分区——将不同类型的数据,存储在不同的数据库中,方便上层业务模块在部署上的分离。

3)水平分区——将同一个表的数据,通过某种算法分布到不同的数据库中。

分享到:
评论

相关推荐

    大型Web架构设计总结

    这些组件都是构建高效、可维护的大型Web系统的关键组成部分。 首先,Go Web开发以其并发模型和高性能特性,成为了构建大规模Web应用的首选语言之一。Go的协程和通道机制使得开发者能够轻松地实现高效的多任务并行...

    大型分布式网站架构设计与实践 PDF(带目录清晰完整版)

    ### 大型分布式网站架构设计与实践 #### 一、引言 在当前互联网时代,随着用户数量的急剧增加以及业务复杂度的不断提高,传统的单体应用架构已经无法满足高并发、高性能的需求。因此,越来越多的企业开始采用...

    大型高并发web应用系统架构分析与设计

    #### 大型高并发Web应用系统架构设计 **2.1 CDN内容分发** CDN是实现全球范围内快速访问的基础,通过在全球部署节点服务器,可以将热点内容分发至离用户最近的节点,大幅降低响应时间。 **2.2 负载均衡层** 负载...

    2023年11月份系统架构设计师论文范文.pdf

    总结,本论文通过DSSA技术展示了在电力行业系统架构设计中的创新实践,结合了Rest服务的Web应用设计理念和软件可靠性原则,为构建智能电网的信息采集系统提供了有价值的参考。同时,项目管理策略的运用也体现了在...

    大型WEB网站架构深入分析_镜像.pdf

    为了满足这些需求,网站架构设计者们采用了多种策略来优化系统的稳定性和可靠性,其中镜像技术是关键一环。本文将深入探讨大型WEB网站架构中镜像技术的应用,以及它是如何提高网站可靠性和性能的。 镜像技术的核心...

    大型系统架构简介

    总结起来,大型系统架构设计是复杂且多层次的,它要求设计者具备全面的技术视野和问题解决能力。架构师需要在了解硬件设备、负载均衡技术的基础上,合理选择和设计软件架构模式,以满足系统在性能、可用性、可维护性...

    java Web系统架构综述

    ### Java Web系统架构综述 #### 一、SSH框架及其分层 SSH框架是指由Struts、Spring和Hibernate三个框架组合而成的一个集成框架。它的名字来源于这三个框架名称的首字母缩写。 - **Struts框架**:作为SSH的基础...

    大型门户网站架构设计

    ### 大型门户网站架构设计 #### 一、三层架构简介及其局限性 ##### 1.1 三层架构原理 三层架构是一种常见的软件架构模式,它将应用程序分为三个逻辑层:应用表现层、业务逻辑层和数据访问层。这种分层方式有助于...

    分布式系统的架构设计

    - **反应式系统(Reactive System)**:由Typesafe公司提出的现代Web系统构建模式,主张使用Scala、Play框架、Akka等工具和技术栈来构建高度响应式的系统。这类系统通常遵循Reactive Manifesto的原则,强调异步消息...

    大型WEB网站架构深入分析_异步处理.docx

    总结来说,大型Web网站架构中采用异步处理可以显著提高系统性能,提供更好的用户体验,并通过负载平衡和容错机制确保系统的健壮性。然而,设计和维护异步系统需要更高的技术要求和复杂性管理。开发者需要权衡这些...

    Web架构设计的演进

    本篇文章将深入探讨Web架构设计的演进历程,特别是针对大型Web应用的设计原则和方法。 一、早期的Web架构:静态HTML与CGI 在Web发展的初期,网站主要由静态HTML页面组成,服务器主要负责文件的传输。然而,随着...

    大型web系统解决方案

    #### 二、系统架构设计 - **总体架构**:系统采用分层架构设计,主要包括Web层、应用层、数据层和管理层四个部分,每一层都有明确的功能定位和责任边界。 - **Web层**:负责处理用户的HTTP请求,主要功能包括负载...

    系统架构设计师岗位职责.docx

    系统架构设计师是IT行业中至关重要的角色,他们负责设计和规划复杂的信息系统,确保系统的稳定、高效、可扩展和安全。以下是对系统架构设计师岗位职责和任职要求的详细说明: 【篇一】 职责: 1. 整体设计:系统...

    WEB集群整体架构图1

    总结来说,这个架构旨在通过Web服务器集群提供高并发处理能力,利用数据库主从复制实现数据安全和读写分离,通过分布式文件系统优化存储性能,并通过VIP和心跳检测实现高可用性。这种设计适用于大型互联网服务,能...

    10本Java架构师必读书籍

    本资源总结了10本Java架构师必读书籍,涵盖了大型网站系统架构、分布式系统设计、Java中间件实践、Web信息架构设计、Java Web技术内幕、负载均衡技术、网站性能优化、高性能电子商务平台构建等多方面的知识点。...

    大型WEB网站架构深入分析-图片服务器分离.docx

    【大型WEB网站架构深入分析-图片服务器分离】 大型WEB网站在提供丰富内容的同时,往往需要处理大量的图片数据...从硬件选择、文件系统优化、缓存策略到架构设计,每个环节都需要精心考虑,以适应不断增长的业务需求。

    大型互联网架构设计实例分析.docx

    他在企业应用系统架构和大型网站架构方面积累了丰富的经验和知识。 #### 互联网软件系统与软件架构师 在互联网领域,软件系统的设计与传统企业应用软件存在显著差异。互联网产品的需求变化更为迅速,这就要求架构...

    大型高并发高负载网站的系统架构

    在大型高并发高负载网站的系统架构设计中,需要充分考虑到网站的需求和限制,从而选择合适的解决方案,设计高效、可扩展的系统架构。同时,需要不断地测试和优化系统,以确保网站的性能和可扩展性。 大型高并发高...

    系统架构师学习笔记

    - 成为一名优秀的系统架构师需要不断积累经验、总结架构模式,并深入了解所处行业的特点和发展趋势。 #### 五、信息化的概念与发展 - **信息的定义**:信息是对客观事物变化和特征的反映,是客观事物之间相互作用...

Global site tag (gtag.js) - Google Analytics