发布时间:2020-12-22 分类: 电商动态
为了使网站的虚拟大型建筑能够应对高并发访问,海量数据处理,高可靠性等问题,建筑元素和分层架构是不可或缺的,就像逐层建造房屋一样。封面是一样的。 Manshanhong网站的建设将为您提供详细的解答。
整个架构通常可以分为应用层,服务层和数据层。实际上,分层结构可以继续分层。例如,应用层可以继续划分为视图层和业务逻辑层,并且服务层可以进一步细分为数据接口层和逻辑处理层。
通过分层,将庞大的系统划分为不同的部分,便于分工开发和维护;每层都有一定的相互独立性,可以根据网站的不同需求进行调整。在逻辑分层之后,可以根据物理部署的要求制定不同的策略。它们可以在开始时部署在同一台物理计算机上,但随着业务的发展,必须单独部署不同的模块。
分层体系结构不仅用于规划软件的逻辑结构以进行开发和维护。随着网站的发展,分层架构对于网站的高并发分布式架构尤为重要。分层后,下一步可以从垂直划分业务,根据不同的业务模块将其划分为不同的模块,并将其交给一个单独的团队进行开发和部署。完成后,将它们部署在不同的服务器上并通过链接进行连接。根据不同的情况,不同的节点是冗余的,以确保网站的高可用性,然后执行缓存,CDN,反向代理等的优化。
1.建筑元素
我们如何看待一个高流量,大容量的网站?
1.1,表现
首先是性能,性能是网站的重要指标,除非没有选择,否则这个网站或用户永远不会忍受超级慢的网站。由于性能问题无处不在,因此有多种方法可以解决性能问题。从用户请求URL开始,每个链接都可以被优化。根据上述分层,可以从三个方面进行优化。 ,应用层优化,服务层优化,数据层优化。
所涉及的知识是Web前端,应用服务器端优化和数据存储,索引,缓存等的优化,将在以下内容中单独描述,但性能只是网站的必要条件,此外,由于您无法预测网站可能面临的压力或攻击,您还必须确保网站在各种情况下保持稳定的性能(高并发,高负载,连续压力不均等)。它包括以下几个方面:性能测试指标,性能测试方法和性能优化策略。
绩效考试指标
主要性能测试指标是响应时间,并发性,吞吐量,性能计数器等。
响应时间
指从发送请求到收到数据的时间。一般来说,这个时间非常小甚至小于测试的错误值,因此我们可以使用重复的请求来获取特定的响应时间,例如请求十。 10,000次,记录总时间,然后计算单个请求的时间
并发号码
指可以同时处理的网站请求数,即并发用户数
可以通过
它是每单位时间可处理的请求数,并反映系统的整体处理能力。存在许多度量,其可以是请求的数量/页面/秒的访问次数/交易的天数/小时等。>常用量化指标有TPS(每秒事务数)HPS(每秒HTTP请求数)QPS(每秒查询数)等。
绩效计数器
描述服务器或操作系统的一些性能指标,包括系统负载(系统负载),线程数,内存使用情况,磁盘和网络I/O等,当这些值超过警告值(安全阈值)时,他们将被发送给开发者。警报,及时处理异常。
性能测试方法
性能测试是一个通用术语,可分为性能测试,负载测试,压力测试和稳定性测试。
性能测试
将初始设计指标作为预期目标,不断对系统施加压力,以确定系统是否能达到预期范围内的预期性能。
负载测试
增加对系统的并发请求以增加系统压力,直到系统的一个或多个指标达到安全阈值,然后继续对系统施加压力,系统的处理能力将降低
压力测试
在安全负载的情况下,继续施加压力,直到系统崩溃或不再能够处理任何计算系统最大压力容差的请求
稳定性试验
在一定压力(不均匀压力)下,系统可以长时间稳定运行
绩效优化战略
要找出问题的原因,请检查不同链接的日志,分析响应时间的哪个部分与预期不符,然后分析影响性能的原因,代码问题或架构设计不合理,或者系统资源不足,然后根据实际问题解决。 。
1.2,可用性
对于大型网站来说,停机的情况很糟糕,因为可能有数千万用户,而且几分钟的停机时间可能会导致网站的声誉,如果是电子商务网站,则更有可能是将导致用户财产的损失,甚至传播诉讼。那时,它不仅会损失金钱和用户,因此保证每天24小时都可用,但实际上服务器并不能保证每天24小时都能保持稳定。运行时,可能存在硬件问题,可能会出现软件问题,并且通常总会出现问题。
因此,我们的高可用性设计的目标是确保在某些服务器关闭时服务或应用程序正常运行。网站高可用性的主要手段是冗余。应用程序部署在多个服务器上以提供访问和数据存储。多个数据服务器之间的热备份,这样任何服务器停机都不会影响整个服务或应用程序,也不会导致数据丢失。
对于应用程序服务器,多个应用程序服务器通过负载平衡设备形成集群,并向外部提供服务。当一台服务器关闭时,该服务将切换到另一台服务器以继续执行,从而确保网站的高可用性。前提是应用服务器不允许存储用户会话信息,否则会丢失,因此即使用户请求转移到另一台服务器,它也无法继续。
对于数据存储服务器,在服务器之间提供实时备份,以便在服务器关闭时,将数据访问切换到其他服务器,并执行数据恢复和备份以测量系统体系结构设计是否满足高可用性。目标是假设一个或多个服务器已关闭,并且发生各种不可预测的问题,以及整个系统是否仍然可用。
1.3,可扩展性
面对大量用户的高并发访问和海量数据存储,不可能满足所有要求并仅用一台服务器存储所有数据。通过将多个服务器集群在一起以提供服务,所谓的可扩展性是指通过不断向集群添加服务器来持续增加用户的并发访问压力和增加数据存储需求。只要服务器上没有存储数据,所有服务器都是对等的,并且可以使用适当的负载平衡设备将新服务器添加到群集中。
对于缓存服务器,添加新服务器可能导致缓存路由无效,导致大多数缓存数据无法访问。需要改进高速缓存路由算法以确保可以访问高速缓存的数据。虽然关系数据库支持数据复制,主从热备份等机制,但很难实现大规模集群的可扩展性。
1.4,可扩展性
网站的可扩展性与网站功能模块的开发直接相关。该网站正在迅速发展,功能不断增加。网站架构可扩展性的主要目的是使其能够快速响应需求变化,以便能够添加新服务。尽量不对现有产品产生影响,无需更改或更改现有业务,以便能够推出新产品;不同产品服务之间的耦合非常小,产品或业务的变化不会造成其他影响。
1.5,安全性
最后一点是安全。互联网是一个开放的平台。任何人都可以从任何地方访问该网站安全架构旨在保护网站免受恶意访问和攻击,并保护数据不被窃取。
作者:红山站原文:http://m.seofuwu.com/23.html请分享,谢谢。
« 作家王山炮击飞猪“杀人”:同一航班,其他人卖2500,卖给我3211 | 2017年系列评论(4):永恒的设计资源 »