13. 永无止境:网站的伸缩性架构

这里写图片描述
这里写图片描述
这里写图片描述


6.1 网站架构的伸缩性设计
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


6.2 应用服务器集群的伸缩性设计
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述


6.3 分布式缓存集群的伸缩性设计
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


6.4 数据存储服务器集群的伸缩性设计
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述


6.5 小结
这里写图片描述
这里写图片描述
这里写图片描述


网站伸缩性设计分类:(1.按功能进行物理分割实现伸缩,2.单一功能通过集群实现伸缩)

按功能进行物理分割实现伸缩:纵向分离,横向分离

单一功能通过集群实现伸缩(集群):应用服务器集群伸缩性,数据服务器集群伸缩性

数据服务器集群伸缩性:缓存数据服务器集群,存储服务器集群

负载均衡:(HTTP请求重定向负载均衡,DNS域名解析负载均衡,
反向代理负载均衡,IP负载均衡,数据链路层负载均衡)

负载均衡算法:轮询(RR),加权轮询(WRR),随机(Random),最少连接,源地址散列

分布式缓存集群的伸缩性设计的主要目标:因为分布式缓存服务器集群中,不同服务器缓存的数据不同,
缓存访问请求不可以在缓存服务器集群中的任意一台处理。必须让新加入的缓存服务器对整个分布式缓存集群影响最小,
也就是说新加入缓存服务器后应使整个缓存服务器集群中已经存在的缓存数据尽可能的被访问到。

应用程序通过 Memcached 客户端访问 Memcached 服务器集群。

Memcached 客户端:API ,Memcached 服务器集群路由算法,Memcached 服务器集群列表,通信模块

API 输入给 路由模块,路由算法根据 key 和服务器集群列表,得到机器的 IP地址和端口,接着,API 
通过调用通信模块和服务器通信。

Memcached 路由算法(很重要):余数 Hash,一致性Hash

一致性Hash(node0,node1,node2,如果加入 node3 在node1 旁边,分担了node1的负载(50%),
node0,node2的负载就是 node1,node3的2倍。所以有负载不均衡的问题,使用虚拟层,
key 在环上先找到虚拟节点,再找到对应的物理节点)

数据存储服务器集群伸缩性:关系型数据库集群的伸缩性,NoSQL数据库的伸缩性

关系型数据库集群的伸缩性(数据复制功能):主从分离,业务分割(不同业务数据表部署在不同数据库即数据分库,
缺点垮库的表不能join),数据分片(分表,分在不同数据库,Cobar)

Cobar(分布式关系数据库访问代理):介于应用服务器和数据服务之间,Cobar根据SQL和分库规则分解 SQL,
分发到MySQL集群不同数据库实例上执行。
Cobar 服务器组成:前端通信模块=>SQL解析模块=>SQL路由模块=>SQL执行代理模块=>后端通信模块=>
MySQL=>后端通信模块=>SQL执行代理模块=>结果合并模块=>前端通信模块

Cobar如何做集群伸缩:Cobar服务器集群伸缩,MySQL集群伸缩

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值