9种高性能高可用高并发的技术架构

9种⾼性能⾼可⽤⾼并发的技术架构
每⼀个模式描述了⼀个在我们周围不断重复发⽣的问题及该问题解决⽅案的核⼼。这样,你就能⼀次⼜⼀次地使⽤该⽅案⽽不必做重复⼯作。 所谓⽹站架构模式即为了解决⼤型⽹站⾯临的⾼并发访问、海量数据、⾼可靠运⾏等⼀系列问题与挑战。为此,在实践中提出了许多解决⽅案,以实现⽹站⾼性能、⾼可靠性、易伸缩、可扩展、安全等各种技术架构⽬标。
1、分层
分层是企业应⽤系统中最常见的⼀种架构模式,将系统在横向维度上切分成⼏个部分,每个部分负责⼀部分相对简单并⽐较单⼀的职责,然后通过上层对下层的依赖和调度组成⼀个完整的系统。
在⽹站的分层架构中,常见的为3层,即应⽤层、服务层、数据层。
应⽤层,具体负责业务和视图的展⽰;
服务层,为应⽤层提供服务⽀持;
数据层,提供数据存储访问服务,如数据库、缓存、⽂件、搜索引擎等。
分层架构是逻辑上的,在物理部署上,三层架构可以部署在同⼀个物理机器上,但是随着⽹站业务的发展,必然需要对已经分层的模块分离部署,即三层结构分别部署在不同的服务器上,使⽹站拥有更多的计算资源,以应对越来越多的⽤户访问。
所以,虽然分层架构模式最初的⽬的,是规划软件清晰的逻辑结构,以便于开发维护。但在⽹站的发展过程中,分层结构对⽹站⽀持⾼并发,向分布式⽅向的发展⾄关重要。
2、冗余
⽹站需要7×24⼩时连续运⾏,那么就得有相应的冗余机制,以防某台机器宕掉时⽆法访问,⽽冗余则可以通过部署⾄少两台服务器构成⼀个集实现服务⾼可⽤。数据库除了定期备份还需要实现冷热备份。甚⾄可以在全球范围内部署灾备数据中⼼。
3、分隔
如果说分层是将软件在横向⽅⾯进⾏切分,那么分隔就是在纵向⽅⾯对软件进⾏切分。
⽹站越⼤,功能越复杂,服务和数据处理的种类也越多,将这些不同的功能和服务分隔开来,包装成
⾼内聚低耦合的模块单元,不仅有助于软件的开发维护也便于不同模块的分布式部署,提⾼⽹站的并发处理能⼒和功能扩展能⼒。
⼤型⽹站分隔的粒度可能会很⼩。⽐如在应⽤层,将不同业务进⾏分隔,例如将购物、论坛、搜索、⼴告分隔成不同的应⽤,有对⽴的团队负责,部署在不同的服务器上。
电动液控闸阀
4、异步
使⽤异步,业务之间的消息传递不是同步调⽤,⽽是将⼀个业务操作分成多个阶段,每个阶段之间通过共享数据的⽅法异步执⾏进⾏协作。
具体实现则在单⼀服务器内部可⽤通过多线程共享内存的⽅式处理;在分布式系统中可⽤通过分布式消息队列来实现异步。
异步架构的典型就是⽣产者消费者⽅式,两者不存在直接调⽤。
5、分布式
对于⼤型⽹站,分层和分隔的⼀个主要⽬的是为了切分后的模块便于分布式部署,即将不同模块部署在不同的服务器上,通过远程调⽤协同⼯作。分布式意味着可以使⽤更多的计算机完同样的⼯作,计电子鱼竿
算机越多,CPU、内存、存储资源就越多,能过处理的并发访问和数据量就越⼤,进⽽能够为更多的⽤户提供服务。
在⽹站应⽤中,常⽤的分布式⽅案有⼀下⼏种.
分布式应⽤和服务:将分层和分隔后的应⽤和服务模块分布式部署,可以改善⽹站性能和并发性、加快开发和发布速度、减少数据库连接资源消耗。
分布式静态资源:⽹站的静态资源如JS、CSS、Logo图⽚等资源对⽴分布式部署,并采⽤独⽴的域名,即⼈们常说的动静分离。静态资源分布式部署可以减轻应⽤服务器的负载压⼒;通过使⽤独⽴域名加快浏览器并发加载的速度。
分布式数据和存储:⼤型⽹站需要处理以P为单位的海量数据,单台计算机⽆法提供如此⼤的存储空间,这些数据库需要分布式存储。
分布式计算:⽬前⽹站普遍使⽤Hadoop和MapReduce分布式计算框架进⾏此类批处理计算,其特点是移动计算⽽不是移动数据,将计算程序分发到数据所在的位置以加速计算和分布式计算。
螺旋锥蝇6、安全
⽹站在安全架构⽅⾯有许多模式:通过密码和⼿机校验码进⾏⾝份认证;登录、交易需要对⽹络通信进⾏加密;为了防⽌机器⼈程序滥⽤资源,需要使⽤验证码进⾏识别;对常见的XSS攻击、SQL注⼊需要编码转换;垃圾信息需要过滤等。
8、⾃动化
具体有⾃动化发布过程,⾃动化代码管理、⾃动化测试、⾃动化安全检测、⾃动化部署、⾃动化监控、⾃动化报警、⾃动化失效转移、⾃动化失效恢复等。
8、集
对于⽤户访问集中的模块需要将独⽴部署的服务器集化,即多台服务器部署相同的应⽤构成⼀个集,通过负载均衡设备共同对外提供服务。
服务器集能够为相同的服务提供更多的并发⽀持,因此当有更多的⽤户访问时,只需要向集中加⼊新的机器即可;另外可以实现当其中的某台服务器发⽣故障时,可以通过负载均衡的失效转移机制将请求转移⾄集中其他的服务器上,因此可以提⾼系统的可⽤性。
网络滤波器
9、缓存
ppzhus缓存⽬的就是减轻服务器的计算,使数据直接返回给⽤户。在现在的软件设计中,缓存已经⽆处不在。具体实现有CDN、反向代理、本地缓存、分布式缓存等。
使⽤缓存有两个条件:访问数据热点不均衡,即某些频繁访问的数据需要放在缓存中;数据在某个时间段内有效,不过很快过期,否在会因为数据过期⽽脏读,影响数据的正确性。
声音设备

本文发布于:2024-09-23 11:23:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/290074.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   部署   需要   分布式   服务   动化   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议