网站架构设计分析及分层架构要素日期:2018-11-05 人气:681494
|
为了使网站这个虚拟的大建筑能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,架构要素和分层架构是必不可少的,就犹如盖房子要用建筑材料一层一层盖一样。接下来为您一一详细解答。 整个架构一般可以分为 应用层、服务层、数据层。实践中大的分层结构中还可以继续分层,比如应用层还可以继续分为视图层和业务逻辑层,服务层也可以继续细分为数据接口层、逻辑处理层等。 通过分层,把一个庞大的系统切分为不同的部分,便于分工开发和维护;各层之间相互有一定的独立性,在网站的开发中可以根据不同的需求进行相应的调整。逻辑上分层之后,在物理部署上也可以根据需求制定不同的策略,刚开始可以部署在同一台物理机上,但是随着业务的发展,必然要对不同的模块进行分离部署 分层架构不仅仅是为了规划软件的逻辑结构以便于开发维护,随着网站的发展,分层架构对网站的高并发分布式架构来说尤为重要,进行了分层以后,接下来可以从纵向进行业务分割,根据不同的业务模块一个项目划分成不同的模块交给单独的团队去开发部署,完成后分别部署在不同的服务器上,通过链接进行互联。再根据不同情况来对不同的节点进行冗余来保证网站的高可用性,接下来进行缓存,CDN,反向代理等等的优化。 1、架构要素 对于一个高访问量,大数据量的网站我们考虑什么呢? 1.1、性能 首先就是性能了,性能是一个网站的的重要指标,除非是没得选择,就这一个网站,不然用户是绝对不会忍受一个超级慢的网站。正因为性能问题无处不在,解决性能问题的方式也各种各样,从用户请求一个 url 开始,进行的每一个环节都可以进行优化;根据上面的分层,可以大致从三个方面进行优化,应用层优化,服务层优化,数据层优化。 涉及到的知识就是 web 前端的优化,应用服务器端的优化和数据的存储,索引,缓存等,这些在后面的内容里会分别展开细说,但性能只是一个网站的必要条件,除此之外,因为无法预知网站可能会面临的压力或是攻击,还要保证网站在各种情境下(高并发,高负载,持续压力不均匀等)保持稳定的性能。包括以下各个方面:性能测试指标、性能测试方法、性能优化策略。 性能测试指标 主要的性能测试指标有响应时间、并发数、吞吐量、性能计数器等。 响应时间 指的是从发出这个请求开始到接收到数据的时间,一般情况下这个时间都非常非常的小甚至小于测试的误差值,所以我们可以采用重复请求的方式来获取具体的响应时间,比如请求十万次,记录总时间,然后计算出单次请求的时间 并发数 指能够同时处理的请求数目,对于网站而言,即并发用户数 吞吐量 是单位时间能能够处理的请求数,体现的系统的整体处理能力> 衡量指标有很多,可以是 请求数/秒 页面数/秒 访问人数/天 处理业务数/小时 等> 常用的量化指标有 TPS(每秒事务数) HPS(每秒 HTTP 请求数) QPS(每秒查询数)等 性能计数器 描述服务器或操作系统的一些性能指标,包括系统负载(System Load),线程数,内存使用,磁盘和网络 I/O 等,当这些值超过警告值(安全临界值)时,就会向开发人员报警,及时处理异常。 性能测试方法 性能测试是一个统称,具体可以分为 性能测试,负载测试,压力测试,稳定性测试。 性能测试 以初期设计的指标为预期目标,不断对系统施压,看系统在预期的范围内,能否达到预期的性能 负载测试 对系统不断增加并发请求以增加系统压力,直到系统某项或多项指标达到安全临界值,这时继续对系统施加压力,系统的处理能力会有所下降 压力测试 在超过安全负载的情况下,继续施压,直到系统崩溃或不再能够处理任何请求,以此来计算系统的最大压力承受能力 稳定性测试 在一定的压力(不均匀施压)下,系统能够稳定的运行较长时间 性能优化策略 要定位问题产生原因,排查不同环节的日志,分析哪个环节的响应时间与预期不相符,然后分析影响性能的原因,是代码问题还是架构设计不合理,或者系统资源不足,然后根据实际问题进行解决。 1.2、可用性 对于大型网站而言,出现宕机的情况是可怕的,因为可能有上千万的用户量,短短几分钟的宕机都有可能导致网站声誉扫地,如果是电商类的网站,更可能会导致用户的财产损失,甚至会摊上官司,那时候损失的就不仅是金钱和用户了,因此要保证能够提供每天 24 小时的可用,但实际中服务器并不能保证每天 24 小时都能平稳的运行,可能出现硬件问题,也可能出现软件问题,总之问题总是会有的。 所以我们高可用设计的目标就是在某些服务器宕机的情况下,也能够保证服务或应用正常运行,网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台数据服务器之间互相进行热备份,这样任何一台服务器宕机都不会影响服务或应用的整体,也不会产生数据丢失。 对于应用服务器而言,多台应用服务器通过一个负载均衡设备组成一个集群同时对外提供服务,当一台服务器宕机后,服务切换到其他服务器上继续执行,这样就可以保证了网站的高可用性,前提是应用服务器不允许存储用户会话信息,否则将会丢失,这样即使用户请求转接到其他服务器上面也无法继续执行。 对于数据存储服务器,要提供服务器之间的实时备份,这样当一台服务器宕机的时候,将数据访问切换到其他服务器上,并进行数据恢复和备份,衡量一个系统架构设计是否满足高可用的目标,就是假设其中一台或多台服务器宕机以及出现各种不可预期的问题时,系统整体是否依然可用。 1.3、伸缩性 面对着大量用户的高并发访问和海量的数据存储,不可能只用一台服务器就能够满足全部需求,存储全部数据。通过集群 的方式将多台服务器组成一个整体共同提供服务,所谓伸缩性就是指通过不断向集群中加入服务器的手段来应对不断上升的用户并发访问压力和不断增长的数据存储需求,对于应用服务器集群,只要服务器上不存储数据,所有的服务器都是对等的,通过使用合适的负载均衡设备就可以向集群中不断加入新的服务器。 对于缓存服务器而言,加入新的服务器可能会导致缓存路由失效,从而导致大部分的缓存数据都无法访问,需要改进缓存路由算法来保证缓存数据可访问,关系数据库虽然支持数据复制,主从热备份等机制,但是很难实现大规模集群的可伸缩性。 1.4、可扩展性 网站的扩展性直接关系到网站功能模块的开发,网站快速发展,功能也不断的增加,网站架构的可扩展性的主要目的是使其能够快速的应对需求变化,是为了能够在增加新业务时,尽量实现对现有产品无影响,不需要改动或是改动很少现有业务就能够上线新产品;不同的产品业务之间的耦合度很小,一个产品或业务的改动不会对其他造成影响。 1.5、安全性 最后的就是安全性了,互联网是一个开放的平台,任何人在任何地方都可以访问网站,安全架构就是保护网站不受恶意的访问和攻击,保护数据不被窃取。 文本来自采集文章 http://qicailight.com/24/520.html 如需转载或删除,请联系管理员。 |
热点资讯
- 01-23 Web网站性能测试分析及调优实例
- 01-23 阿里巴巴店铺展现变低了,诚信通运营如何寻找原因?
- 01-23 辽源信息港网站建设客户
- 01-23 外贸网站建设注意事项
- 01-23 怎样选择网站设计公司
- 01-23 Web开发涉及语言和技术
- 01-23 搜索引擎优化(SEO)与百度竞价优劣势分析
- 01-23 手机网站优化并不比普通网站优化更容易
- 01-23 高端企业商城网站建设定制设计制作一站式服务
- 01-23 不以客户为中心的网站建设都是耍流氓
- 01-23 做网站就这几步,你都知道吗?
- 01-23 营销型网站建设需要注意以下细节
- 01-23 微信推广/网站建设需要注意什么
- 01-23 网络广告推广
- 01-23 什么叫成功的网站设计?
- 01-23 BlokDust:这个网站大概是目前最好的网页端音乐创作工具了
- 01-23 近期对百度谷歌排名变动的猜想
- 01-23 阿里卖家需要掌握的店铺运营技巧
- 01-23 网站建设和发布时哪些因素会影响排名优化?
- 01-23 外贸企业网站建设和运营中的四个要点
- 01-23 提高网站关键词排名的几个技巧
- 01-23 利用差异化内容提高网站排名
- 01-23 如何做好现阶段的网站排名?
- 01-23 网站降权,排名下降!百度推广是怎么了?
【龙岗本地网络公司】——承诺3小时内上门服务!龙岗上门全国热线:400-666-2014 【我要收藏此页面】 网站地图 粤ICP备12018349号-6
网站维护:深一深圳网站建设
全国龙岗注册公司-服务网店
- 茶山网站建设
- 清溪网络公司
- 塘厦网站设计
- 黄江网站建设
- 凤岗网络公司
- 石龙网站设计
- 石碣网站建设
- 长安网络公司
- 常平网站设计
- 樟木头网站建设
- 厚街网络公司
- 虎门网站设计
- 西城网站建设
- 南城网络公司
- 东城网站设计
- 城区网站建设
- 罗湖网站建设
- 华强北网站设计
- 西丽网站建设
- 大浪网站设计
- 光明网站建设
- 龙华网络公司
- 观澜网站设计
- 观兰网站建设
- 公明网络公司
- 松岗网站设计
- 沙井网站建设
- 西乡网络公司
- 福永网站设计
- 石岩网站建设
- 坂田网络公司
- 大芬村网站设计
- 坪山网站建设
- 坪地网络公司
- 横岗网站设计
- 布吉网站建设
- 平湖网络公司
- 遵义
- 资阳
- 自贡
- 淄博
- 株洲
- 驻马店
- 珠海
- 诸城
- 舟山
- 周口
- 中卫
- 中山
- 重庆
- 镇江
- 郑州
- 正定
- 赵县
- 昭通
- 肇庆
- 湛江
- 漳州
- 张掖
- 浙江
- 云南
- 新疆
- 西藏
- 四川
- 陕西
- 山西
- 山东
- 内蒙古
- 辽宁
- 江西
- 江苏
- 湖南
- 湖北
- 黑龙江
- 河南
- 河北
- 贵州
- 广西
- 广东
- 甘肃
- 福建
- 安徽
- 大朗
- 横沥
- 东坑
- 寮步
- 谢岗
- 桥头
- 企石
- 石排
- 章丘
- 张家口
- 张家界
- 张北
- 枣庄
- 禹州
- 玉溪
- 玉树
- 云浮
- 运城
- 玉林
- 榆林
- 岳阳
- 永州
- 永新
- 益阳
- 鹰潭
- 营口
- 银川
- 伊犁
- 伊春
- 宜春
- 宜昌
- 宜宾
- 盐田
- 烟台
- 鄢陵
- 扬州
- 阳泉
- 阳江
- 阳春
- 盐城
- 延边
- 延安
- 雅安
- 徐州
- 许昌
- 宣城
- 西双版纳
- 忻州
- 新余
- 信阳
- 新乡
- 西宁
- 邢台
- 兴安盟
- 锡林郭勒盟
- 孝感
- 咸阳
- 仙桃
- 咸宁
- 湘西
- 湘潭
- 香港
- 襄樊
- 西安
- 厦门
- 梧州
- 吴忠
- 五指山
- 武夷山
- 无锡
- 武威
- 乌鲁木齐
- 乌兰察布
- 五家渠
- 芜湖
- 武汉
- 乌海
- 温州
- 文山
- 渭南
- 威海
- 潍坊
- 瓦房店
- 图木舒克
- 吐鲁番
- 铜仁
- 铜陵
- 通辽
- 通化
- 铜川
- 桐城
- 铁岭
- 天水
- 天门
- 天津
- 唐山
- 泰州
- 台州
- 太原
- 台湾
- 台山
- 泰安
- 宿州
- 苏州
- 宿迁
- 随州
- 遂宁
- 绥化
- 松原
- 四平
- 沭阳
- 朔州
- 顺德
- 双鸭山
- 石嘴山
- 十堰
- 石家庄
- 石河子
- 深圳
- 沈阳
- 神农架
- 邵阳
- 绍兴
- 韶关
- 汕尾
- 汕头
- 山南
- 上饶
- 商丘
- 商洛
- 上海
- 三亚
- 三明
- 三门峡
- 日照
- 日喀则
- 衢州
- 曲靖
- 泉州
- 七台河
- 其他
- 齐齐哈尔
- 钦州
- 秦皇岛
- 清远
- 庆阳
- 清徐
- 青岛
- 黔西南
- 黔南
- 潜江
- 黔东南
- 濮阳
- 莆田
- 普洱
- 萍乡
- 平凉
- 平顶山
- 攀枝花
- 盘锦
- 怒江
- 宁德
- 宁波
- 内江
- 那曲
- 南阳
- 南通
- 南山
- 南平
- 南宁
- 南京
- 南充
- 南昌
- 牡丹江
- 明港
- 绵阳
- 梅州
- 眉山
- 茂名
- 马鞍山
- 吕梁
- 泸州
- 洛阳
- 漯河
- 娄底
- 龙岩
- 陇南
- 龙岗网络公司
- 柳州
- 六盘水
- 六安
- 丽水
- 林芝
- 临猗
- 临沂
- 临夏
- 临汾
- 临沧
- 丽江
- 辽源
- 辽阳
- 聊城
- 连云港
- 凉山
- 乐山
- 拉萨
- 兰州
- 廊坊
- 莱芜
- 来宾
- 昆明
- 库尔勒
- 克孜勒苏
- 垦利
- 克拉玛依
- 喀什
- 开封
- 济源
- 鸡西
- 酒泉
- 九江
- 锦州
- 晋中
- 济宁
- 金华
- 荆州
- 荆门
- 景德镇
- 晋城
- 金昌
- 济南
- 吉林
- 揭阳
- 嘉峪关
- 嘉兴
- 焦作
- 江门
- 吉安
- 佳木斯
- 湖州
- 霍邱
- 呼伦贝尔
- 葫芦岛
- 惠州网站设计
- 呼和浩特
- 黄石
- 黄山
- 黄南
- 黄冈
- 淮南
- 怀化
- 淮北
- 淮安
- 红河
- 贺州
- 菏泽
- 河源
- 和县
- 和田
- 衡阳
- 衡水
- 黑河
- 鹤岗
- 合肥
- 河池
- 鹤壁
- 汉中
- 杭州
- 邯郸
- 哈密
- 海西
- 海南
- 海拉尔
- 海口
- 海东
- 海北
- 哈尔滨
- 固原
- 果洛
- 贵阳
- 桂林
- 贵港
- 馆陶
- 广州
- 广元
- 广安
- 甘孜
- 赣州
- 甘南
- 抚州
- 福州
- 阜阳
- 阜新
- 福田
- 抚顺
- 佛山
- 防城港
- 鄂州
- 恩施
- 鄂尔多斯
- 东营
- 东莞
- 迪庆
- 定州
- 定西
- 德州
- 德阳
- 德宏
- 达州
- 大兴安岭
- 大同
- 大庆
- 丹东
- 大连
- 大理
- 大丰
- 滁州
- 楚雄
- 崇左
- 池州
- 赤峰
- 郴州
- 成都
- 承德
- 潮州
- 朝阳
- 巢湖
- 常州
- 长治
- 长沙
- 昌吉
- 长葛
- 昌都
- 常德
- 长春
- 沧州
- 亳州
- 博尔塔拉
- 滨州
- 毕节
- 本溪
- 北京
- 北海
- 巴中
- 防狼喷雾
- 巴音郭楞
- 巴彦淖尔盟
- 包头
- 保山
- 宝鸡
- 保定
- 宝安网站建设
- 蚌埠
- 白银
- 白山
- 百色
- 白城
- 澳门
- 安阳
- 安顺
- 鞍山
- 安庆
- 安康
- 阿里
- 阿拉善盟
- 阿拉尔
- 阿克苏
- 阿坝
- 道滘网络公司
- 惠城
- 惠阳网站设计
- 博罗
- 惠东
- 龙门
- 淡水
- 大埔
- 五华
- 紫金
- 龙川