forked from thrsky/ThrskyShop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
网站架构发展.txt
69 lines (43 loc) · 2.3 KB
/
网站架构发展.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
网站的服务器
把文件服务器放在高磁盘性能的服务器上
把数据库数据库放在高CPU性能服务器上
应用服务器采用分布式
#===========================================================================
负载均衡服务器进行调度
(可分布式)
#===========================================================================
横向扩展应用服务器
解决session共享问题:
1、每一个请求通过负载均衡调度过后去往一个对于的服务器(可以通过hash(ip)来决定去哪个服务器,
这样一来每次请求都能有自己的session
缺点:如果一个服务器重启了,上面的session会全部消失
2、session复制,在每个服务器上相互复制session
缺点:会占用大量的服务器内存
3、带上你的cookie
缺点:cookie长度有限制,cookie存在本地浏览器上,安全问题
4、独立的session服务器
所有的应用服务器都从session服务器上寻找对应的session
缺点:对session服务器的要求过高,可以采用分布式session服务器
#===========================================================================
数据库服务器的优化:
数据库读写分离;
1、把写操作全部引入主数据库服务器
2、把读操作引入从服务器
3、在应用服务器中编写模块来分离读写操作
这样一来就减少了代码的侵入,使底层的代码不需要考虑这方面的问题
等上面的解决方法又出现瓶颈时:
把不同的属性,如产品、用户、订单分别放在不用的数据库服务器中
注意点:出现跨库的事务
解决方法:采用分布式事务 或 用其他方法替代事务
当一个表中的数据数量过多已经达到单个服务器的限制时:
1、数据库的水平拆分
问题:主键的策略问题、分页的问题、
#===========================================================================
增加CDN 和 反向代理服务器
#===========================================================================
文件服务器的优化:
分布式文件服务器集群:
#===========================================================================
应用服务器的优化:
1、把搜索功能独立出来到一个搜索服务器
2、采用NoSQL优化性能