网站技术架构与性能优化(伸缩性架构)

伸缩性架构

    一.伸缩性设计模式

          一).不同功能进行物理分离实现伸缩

          应用服务器 => 数据库分离 => 缓存分离 => 静态资源分离

          还分为两种情况:

              纵向: 从高级逻辑 到 底层调用

              横向: 不同功能的横向解偶

          二).单一功能通过集群实现伸缩

    二.应用服务器集群的伸缩性设计

          核心:http请求分发

          分类:

              1.http重定向  302 location 不利于SEO

              2.DNS域名解析  多重负载均衡

              3.反向代理  请求转发

              4.IP负载均衡  修改ip地址

              5.数据链路层负载均衡  不修改ip地址

              6.负载均衡算法:  轮询 加权轮询 随机 最少连接 源地址散列

    三.分布式缓存集群的伸缩性设计

          就是一个 一致性hash算法

    四.数据存储服务器集群的伸缩性设计

          1.关系数据库

              一).主从分离

              二).数据分片/分区

          2.NoSql

              sql + 数据一致性 => 高可用 + 可伸缩

你可能感兴趣的:(网站技术架构与性能优化(伸缩性架构))