大型网站系统架构实践(三)如何提高网站的高可用和高性能

15 篇文章 0 订阅
订阅专栏

转载于:http://www.cnblogs.com/tangyanbo/p/4390320.html

随着网站的业务越来越多,网站的服务就变的很重要,假设某天你的服务器挂了,会不会是一个天大的灾难呢?而且这种事情发生的概率还不小,断电了,服务器硬盘坏了,内存坏了等等,都会使你的系统挂掉,而且高并发的访问有时候也会使系统资源耗尽,然后导致服务器宕机,那么解决方案呢,那就是集群,将相同的系统分别放到不同的web服务器或者硬件服务器,这样其中一个挂掉了,网站还可以正常运营。

Web应用集群

首先我们应该对web前置做集群,我们的方案是用Haproxy做http协议层的负载均衡,后端部署多个web前置,当然也可以用LVS,负载均衡效率更高,请参考我的另一篇博文:LVS实现负载均衡http://www.cnblogs.com/tangyanbo/p/4305589.html,这篇文章讲的是mysql的负载均衡,当然做web应用的集群原理是一样的,当然还有其他的一些中间件,如Ngnix也是可以的,关于负载均衡的中间件我会另起博客详细讲解的。

各种集群方案的性能问题

理解ip负载均衡和数据链路层负载均衡,需要熟悉tcp/ip协议。

反向代理负载均衡

典型的反向代理中间件有Haproxy和Ngnix,请求转发在http协议层面,其优点是和反向代理服务器功能集成在一起,部署简单,缺点是需要在中间件做http的转发,工作在应用层,且请求和响应都要经过反向代理服务器,容易成为性能瓶颈。

系统架构图:

clip_image002

Ip层负载均衡

通过修改请求目标地址进行负载均衡

具体实现:LVS

优点:ip负载均衡在内核完成ip转发,较反向代理性能要好,但请求和响应都要经过仍然要经过ip负载均衡服务器,因此吞吐量的瓶颈会出现在ip负载均衡服务器的网卡上。

系统架构图:

clip_image004

数据链路层负载均衡

通过修改mac地址来完成请求的转发,负载均衡数据分发过程中不修改IP地址,只修改目的mac地址,通过配置真实服务器集群所有机器虚拟IP和负载均衡IP地址一致,从而达到不修改数据包的源地址和目的地址就可以进行数据分发的目的,由于实际处理请求的真实服务器IP和数据请求目的IP一致,不需要通过负载均衡服务器进行地址转换,可将响应数据包直接返回给用户浏览器,避免负载均衡服务器网卡宽带成为瓶颈。

系统架构图:

clip_image006

Session问题

Web应用一般都是需要保持用户会话的,因此做集群之后会出现问题,默认情况下,客户端请求是被均匀的分发到后端服务器的,那么同一个会话的两次请求可能会被分配到不同的服务器,那么session就会丢失。

如何解决这个问题呢?

方案1:session复制

就是将1台服务器的session复制到其它所有的服务器上,这样无论访问哪台服务器,都会得到用户的session

该方案的缺点

当服务器的数量比较大时,session同步将会变得相当耗时

方案2:session粘滞

就是用户请求一个服务器之后,同一个会话的其它请求,都会被分配到这台服务器,session粘滞的功能由负载均衡中间件完成。

该方案的优点,解决了session复制的性能问题

该方案的缺点,由于用户的会话被保存到单一的服务器,就容易出现单点故障。

那么有没有更好的解决方案呢?

方案3:session服务器

部署一个专门的服务,保存用户session,同时在web服务器本地也保存一份,当本地没有或者失效时,去访问session服务器,当然session服务器就成了单点,当用户量大的时候也容易宕机,这时可以做一个session服务器集群,做主备同步备份,这样就达到了较好的效果,具体实现可以用redies,memcached等缓存中间件。

系统架构图:

image

结语:负载均衡至少有2个优点

1. 多点部署,解决了单点故障问题,提高了网站的可用性

2. 能通过利用更多的硬件资源提高系统性能

MySQL性能优化和高可用架构实践.pptx
10-04
本书《MySQL性能优化和高可用架构实践》是一本详细介绍MySQL性能优化和高可用架构实践的书籍,旨在帮助读者提升MySQL数据库的性能和可靠性。本书的内容涵盖了查询优化的基本原则和最佳实践,例如索引的设计和使用,...
magicmatch java_Java使用WebMagic 爬取网站
weixin_39755218的博客
02-26 130
安装这里使用maven进行安装。根据maven下载相关的包us.codecraftwebmagic-core0.7.3us.codecraftwebmagic-extension0.7.3Hello World几乎所有的api的学习,都是从hello world开始的,webmagic也不例外,使用的同样也是hello world案例。以爬取sina博文为例。复制以下代码packagecom.ex...
单点系统架构的优化
weixin_34375251的博客
02-16 231
一、需求缘起 明明架构要求高可用,为何系统中还会存在单点? 回答:单点master的设计,会大大简化系统设计,何况有时候避免不了单点 在哪些场景中会存在单点?先来看一下一个典型互联网高可用架构。 典型互联网高可用架构: (1)客户端层,这一层是浏览器或者APP,第一步先访问DNS-server,由域名拿到nginx的外网IP (2)负载均衡层,ngin...
图文并茂分享UML之「部署图」,附7张精选实例!
xiaobaiyanghaowa的博客
02-06 1万+
组件图是说明组件之间的逻辑关系的,而部署图则是在此基础上更进一步,描述系统硬件的物理拓扑结构及在此结构上执行的软件。ProcessOn作为一站式的流程图工具,支持绘制专业的UML图,不仅可以绘制部署图,还有时序图、类图、状态图/活动图和组件图等,专业的UML图形,快速满足你的工作需要。在UML中,部署图显示了系统的硬件和安装在硬件上的软件,以及用于连接异构计算机之间的中间件。部署图是UML图的一种,在了解部署图之前,先让大家对UML图有一个初步了解,UML图分为结构行为图和动态行为图,下图是详细介绍。
UML--部署图
Stronger的博客
06-21 3万+
一、概述 部署图(DeploymentDiagram)描述了一个系统运行时的硬件节点、在这些节点上运行的软件构件将在何处物理运行以及它们将如何彼此通信的静态视图。在一个部署图中包含了两种基本的模型元素:节点(Node)和节点之间的连接(Connection)。在每一个模型中仅包含一个部署图。如图12-12所示是一个系统的部署图,图中包含了客户端、服务器、数据库服务器和打印机等节点,其中客户端和服务器通过HTTP方式连接,服务器与数据库服务器通过ODBC方式连接,客户端中拥有IE6.0进程,服务器中拥有..
大型峰值业务背后的高可用架构实践共41页.pdf.zip
11-08
【标签】:“大型峰值业务背后的高可用架构实践”这一标签明确了文档的核心内容,它关注的是在面对大量并发用户请求时,如何通过架构设计保障系统的稳定性、弹性和可扩展性,以实现业务连续性和用户体验的提升。...
大型网站分布式架构高并发高可用可扩展技术
03-15
在构建大型网站的过程中,面临的核心挑战之一是如何处理高并发访问,保证系统高可用,并具备良好的可扩展性。本文将深入探讨分布式架构在此...理解并掌握这些关键技术,是构建高性能高可用、可扩展的大型网站的基石。
讲-大型互联网高可用网站业务架构设计实践.docx
04-26
在构建大型互联网高可用网站业务架构的过程中,设计者必须遵循一系列原则和策略,以确保系统的稳定性和可靠性。本文主要探讨了互联网项目开发中的一些核心概念,包括海恩法则和墨菲定律,以及如何通过高可用设计来...
UML系列文章(31)体系结构建模---部署图
追赶时代的博客
06-12 3526
UML 部署图
OOSE-6-部署图/包图
我是一只小嵩鼠
05-26 4700
OOSE,即Object-Oriented Software Engineering,面向对象的软件工程
部署图
热门推荐
Tyshawn的博客
01-01 4万+
一:定义 1,部署图(Deployment Diagram),也称为实施图,它和组件图一样,是面向对象系统的物理方面建模的两种图之一。组件图是说明组件之间的逻辑关系的,而部署图则是在此基础上更进一步,描述系统硬件的物理拓扑结构及在此结构上执行的软件。部署图可以显示计算节点的拓扑结构和通信路径、节点上运行的软件组件。 2,在UML中,部署图显示了系统的硬件和安装在硬件上的软件,以及用于连接异构计
软件设计中如何画各类图之八深入解析部署图:物理布局与系统架构的视觉化呈现
cooldream2009的博客
12-09 1893
在软件开发和系统设计的领域中,理解系统的物理部署方式和组件间的关系至关重要。部署图作为UML的一种静态结构图,提供了系统中软件和硬件组件的物理布局展示,为设计人员和系统管理员提供了一个直观的视角,有助于评估系统性能、指导部署过程,并帮助系统维护人员了解系统的组件布局,便于升级或维护特定组件。在本文中,我们将深入探讨部署图的基本符号、绘制步骤、用途和实际应用场景,旨在帮助读者更好地理解和应用部署图的重要性和价值。
UML建模之部署图(Deployment Diagram)
shemny的专栏
06-29 2091
原文地址:http://www.cnblogs.com/ywqu/archive/2009/12/21/1628545.html 一、部署图简介(Deployment Diagram Introduction) 二、部署图元素(Deployment Diagram Elements) 1、结点(Node) 2、结点实例(Node Instance) 3、结点类型(Node
uml 部署图
u014612859的专栏
06-04 896
部署图的定义: 部署图的
UML14种图之部署图和构件图最全总结
不甘平凡的码农
10-29 2万+
UML14种图之部署图和构件图部署图构件图接口(Interface)外部接口——端口连接器(Connector)——连接件构件图中的关系组件图的建模技术案例(分析一个已经存在的系统) 部署图 一、什么是部署图? 部署图(deployment diagram,配置图):是用来显示系统中软件和硬件的物理架构。从部署图中,您可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以...
【UML建模】部署图(Deployment Diagram)
最新发布
积木成林,聚沙成塔
01-05 5353
基本的部署图包含3种图标,即节点、组件、连线,有时候为了做区分还会加入构件图标,只需要按照步骤明确自己想表达的信息,将这几个简单的图标进行组合使用,就可以得到一个从宏观层面观看的信息丰富的部署图。需要注意的是:不建议在部署图上描述过于细节的信息,整个项目的全貌可以借助不同的uml图例在多个切面维度上进行描述。
UML—部署图
程雅丽的博客
03-01 2551
又名实施图.用来描述系统硬件的物理拓扑结构以及在此结构上执行的软件。 系统工程师连接软硬件.用类图和构件图推断软件的结构,用顺序图,协作图,状态图,活动国描述软件的行为.软硬件边界上,用实施图,描述处理器和所需设备的拓扑结构. 1.构成: 节点node:物理元素,在运行时存在;代表一个可计算的资源,占用内存,具有处理能力;一个构件集合一般来说位于一个节点,但有可能从一个节点转到另一个节点.
UML--部署图详解
吴声子夜歌的博客
10-25 1万+
部署图 部署图用来描述业务过程中的组织机构和资源。 部署图的含义 部署图(Deployment Diagram)描述了一个系统运行时的硬件节点,以及在这些节点上运行的软件构件将在何处物理地运行和它们将如何彼此通信的静态视图。 在一个部署图中,包含了两种 ...
大型社区网站系统架构实例解析,高性能高可用性关键技术
大型社区网站系统架构实例分析深入探讨了如何构建一个高效、稳定且具有...这个大型社区网站系统架构实例提供了关于如何在复杂环境中构建高效、可靠且易于管理的网站平台的具体实践方法,值得相关专业人士参考和学习。
写文章

热门文章

  • Oracle分区表及分区索引的创建 50914
  • Oracle分区表 24785
  • jBPM5与Activiti之间的差异对比 12296
  • 15款值得推荐的思维导图(心智图 )工具 9149
  • 前台将数据存入集合并封装为JSON格式,后台用list遍历输入 8780

分类专栏

  • 虚拟机
  • 架构 15篇
  • 网络通信 4篇
  • 多线程
  • 数据库 13篇
  • J2EE 27篇
  • 工作流 2篇
  • ofbiz 12篇
  • java异常 4篇
  • java
  • javascript 3篇
  • 工具 2篇
  • 事务 7篇
  • maven 1篇
  • 设计模式 11篇
  • 服务器 3篇
  • spring-boot 3篇
  • 消息队列 1篇

最新评论

  • Oracle分区表

    m0_56693585: 统计

  • 动态代理详解

    Ronald0407: 写的太好了,受益匪浅

  • ORACLE中的用户,角色,权限配置

    热爱。。: 多谢分享,受教了

  • 在IDEA中配置spring boot 对jsp页面的支持

    xiaoshuo566: 一次就成功了,感谢博主的文章。收藏了

大家在看

  • 如何匿名浏览网站,保护在线隐私?
  • WhatsApp不被封号的秘诀分享
  • RASIC 决策矩阵 620
  • 查漏补缺之--智能车主控板分析
  • TikTok出现零播放的原因是什么?解决方法有哪些?

最新文章

  • VMware虚拟机的三种网络配置
  • 消息队列总述
  • Redis持久化的两种方式
2019年6篇
2018年14篇
2017年68篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳坪山网站建设公司携程竞争对手网站优化情况网站搜索排名优化选任云速捷巩义网站优化网站seo优化好处公司网站的百度关键词优化衡水网站建设优化建站杭州网站建设seo优化东湖免费的网站优化郑州网站优化服务提供商玉环网站优化推广网站百度快照优化百科网站优化一年多少钱长春推荐网站推广优化怎么把一个网站优化上去怎么优化自己的网站琼海网站推广优化宿迁营销网站优化供应天津百度网站优化推广云南网站关键词优化推广外包公司网站改版后优化湛江企业网站关键词优化工具常德咨询营销型网站优化甘肃优化网站网站文字优化方案荔湾网站推广优化红旗区网站排名优化公司哪里有网站优化seo最终详解网站图片修改优化有影响吗思明区网站优化邯郸网站优化公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化