网站的伸缩性架构,负载均衡的实现方式,缓存集群与数据库集群处理

简介:

网站的伸缩性架构

指不需要改变网站的硬件设计,仅仅通过部署的服务器数量变更就可以扩大或者缩小网站服务处理能力。

架构的伸缩性

分层(纵向分离)

422101-20171018154353724-604677326.png

分割(横向分离)

422101-20171018154450318-236009452.png

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

服务器集群的伸缩性设计

负载均衡

422101-20171018154831162-1857617599.png

1.HTTP重定向实现负载均衡

422101-20171018154937334-1222812572.png

优点:简单

缺点:浏览器需要两次请求服务器才能完成一次访问。

2.DNS域名解析负载均衡

422101-20171018155339709-1664097445.png

优点:将负载均衡工作转给DNS

3.反向代理负载均衡

422101-20171018172404287-232920931.png

亿图绘制

4.IP负载均衡

在网络层通过修改请求目标地址,进行负载均衡。

422101-20171018172441818-747367047.png

5.数据链路层负载均衡

通过mac地址进行负载均衡

422101-20171018172619818-1952521431.png

负载均衡算法

1.轮询

所有请求依次分发到每台应用服务器上,即每台服务器需要处理的请求数目都相同(适用于所有服务器硬件都相同的场景)

2.加权轮询

根据配置的权重将请求分发到每个服务器,高性能的服务器分配请求多。

3.随机

请求被随机分配到各个服务器上

4.最少连接

记录每个应用服务器正在处理的连接数,将新的请求分发到最少连接的服务器上。

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

Memcached分布式缓存集群的访问模型

计算机的任何问题都可以通过增加一个虚拟层来解决。

计算机网络的七层协议,每一层都可以看做是下一层的虚拟层。

计算机操作系统也可以看做是计算机硬件的虚拟层。

Java虚拟机也可以看做是操作系统的虚拟层。

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

Mysql关系型数据库集群方案

422101-20171018173825412-306770202.png

小结:

高手之所以成为高手,是因为他们遇到了常人很难遇到的问题,并解决了。

百度有很多搜索的高手,

淘宝有很多海量数据的高手,

QQ有很多高并发业务的高手。

遇到问题,分析问题,最终总能解决问题。



本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/7687993.html,如需转载请自行联系原作者

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
21天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
111 1
|
25天前
|
消息中间件 缓存 负载均衡
大型网站集群管理负载均衡
结合企业大规模应用,解决应用高并发问题,解决单节点故障问题,缓存数据库的应用。学完掌握知识点:企业应用实现四七层负载均衡,以及Nginx等应用的高可用性,Redis缓存数据库的部署应用以及高可用方式,Rabbitmq消息队列的部署应用以及高可用方
16 2
大型网站集群管理负载均衡
|
1月前
|
SQL NoSQL 前端开发
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
|
2月前
|
存储 运维 关系型数据库
数据的力量:构筑现代大型网站之数据库基础与应用
数据的力量:构筑现代大型网站之数据库基础与应用
201 0
|
9天前
|
负载均衡 Java 关系型数据库
linux 下amoeba实现数据库的负载均衡
linux 下amoeba实现数据库的负载均衡
8 1
|
1月前
|
存储 SQL 分布式计算
TiDB整体架构概览:构建高效分布式数据库的关键设计
【2月更文挑战第26天】本文旨在全面概述TiDB的整体架构,深入剖析其关键组件和功能,从而帮助读者理解TiDB如何构建高效、稳定的分布式数据库。我们将探讨TiDB的计算层、存储层以及其他核心组件,并解释这些组件是如何协同工作以实现卓越的性能和扩展性的。通过本文,读者将能够深入了解TiDB的整体架构,为后续的学习和实践奠定坚实基础。
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
前端开发 Java 数据库
基于Springboot的漫画网站22(程序+数据库+论文)可帮忙远程调试
基于Springboot的漫画网站22(程序+数据库+论文)可帮忙远程调试
|
1月前
|
JavaScript Java 数据库
基于springboot的地方美食分享网站(程序+数据库+文档)
基于springboot的地方美食分享网站(程序+数据库+文档)
|
1月前
|
消息中间件 存储 缓存
性能基础之大型网站技术架构模式
【2月更文挑战第15天】性能基础之大型网站技术架构模式
69 3
性能基础之大型网站技术架构模式