单机到分布式的变迁和问题探究(yulibaozi).docx
立即下载
℘ 宋唐 ℒº ѵ ℯ楚厦
2025-05-05
服务器
Session
数据
单机
解决
数据库
请求
负载
用户
访问
21.9 KB
单机到分布式的变迁和问题
Yulibaozi.com
变迁的过程:
变迁过程分8步。
1、单机 2、单机负载警告,数据与应用分离 3、应用服务器警告,应用服务器集群 4、数据库压力过大,读写分离 5、数据库再遇瓶颈,数据库垂直拆分 6、单机数据库又遇瓶颈,水平拆分7、数据库解决问后,应用面临新挑战,应用拆分8、服务化结构
各个阶段遇到的问题和解决办法
单机
只是在应用中把数据库的地址从本地改到另外一台机器上。
单机负载警告,数据与应用分离
应用服务器之间没有交互,他们都是依赖数据库提供服务的。
应用服务器警告,应用服务器集群
出现的问题和解决办法
1、用户对应用服务器访问的选择问题
问题描述:当用户访问的时候,应该选择那一台应用服务器响应用户请求。
解决办法:
1.1、通过DNS解决。
通过DNS服务器进行调度和控制,用户解析DNS的时候,就给用户一个应用服务器地址。
1.2、通过在应用服务器前增加负载均衡设备解决。
所有用户请求访问的时候都经过负载均衡设备来完成请求转发控制。
2、Session问题:
问题描述:当Http请求web服务器的时候,需要在http请求中找到会话数据(Session),问题在于会话数据保存在单机上的,我第一次访问落在左边服务器(假设服务器有两台),这时候我的Session就创建在左边服务器,右边服务器就没有,我如何保证我每次访问都在同一台服务器或者说都能够拿到Session呢?
解决办法:
2.1、添加负载均衡器,保证同样的Session请求都发送到同一个服务端处理。
优点:有利于针对Session进行服务器本地缓存。
缺点:如果一台Web服务器重启,这台机器的会话数据会丢失;
2.2、不要求负载均衡器保证同样的Session请求发送到同一服务端,而是在服务端进行Session数据同步。
缺点:同步Session数据会带来带宽开销,只要Session有变化就需要同步;每台Web服务器都需要保存所有的Session数据,性能下降厉害。
2.3、把Session数据集中处理,Web服务器需要使用Session数据时,去集中存储的地方读取就好。
缺点:读写Session数据引入了网络操作,存在时延和不稳定性;如果集中存储Session数据的地方出问题,影响巨大,但是对于Session数据很多的时候,优势巨大。
2.4、把Sessi
服务器/Session/数据/单机/解决/数据库/请求/负载/用户/访问/
服务器/Session/数据/单机/解决/数据库/请求/负载/用户/访问/
-->