目录
1. 为何 Redis
要采用主从架构
- 尽管
Redis
的性能很好,对于一些热门网站的某个时刻(比如促销商品的时候)每秒成千上万的请求是司空见惯的,这个时候大量的读操作就会到达Redis
服务器,触发许许多多的操作,显然单靠一台Redis
服务器是完全不够用的 - 一些服务网站对安全性,可用性有较高的要求,当主服务器不能正常工作的时候,也需要从服务器代替原来的主服务器,作为灾备,以保证系统可以继续正常的工作。因此更多的时候我们更希望可以读/写分离,读/写分离的前提是读操作远远比写操作频繁得多,如果把数据都存放在多台服务器上那么就可以从多台服务器中读取数据,从而消除了单台服务器的压力,读/写分离的技术已经广泛用于数据库中了
2. Redis
的主从同步架构模式
所谓主从架构设计的思路大概是
- 在多台服务器中,只有一台主服务器,而主服务器只负责写入数据,不负责外部程序读取数据
- 在多台从服务器中,从服务器不写入数据,只负责同步主服务器的数据,并让外部程序读取数据
- 主服务器在写入数据后,即刻将写入数据的命令发送给从服务器,从而使得主从数据同步
- 当某个从服务器不能工作的时候,整个系统将不受影响;当主服务器不能工作的时候,可以方便地从从服务器中选举一台来当主服务器
这个时候读数据就可以随机从服务器上读取,当从服务器是多台的时候,那么单台服务器的压力就大大降低了,这十分有利于系统性能的提高,当主服务器出现不能工作的情况时,也可以切换为其中的一台从服务器继续让系统稳定运行,所以也有利于系统运行的安全性。当然由于 Redis
自身具备的特点,所以其也有实现主从同步的特殊方式
3. Redis
的哨兵架构模式
主从切换:当主服务器宕机后,需要手动把