互联网系统一般是以主从架构为基础的,所谓主从架构的设计的思路大概是:
- 在多台数据服务器中,只有一台主服务器,而主服务器只负责写入数据,不负责外部程序读取数据。
- 存在多台从服务器,从服务器不写入数据,只负责同步主服务器的数据,并让外部程序读取数据。
- 主服务器写入数据后,即刻将写入数据的命令发送给从服务器,从而使得主从数据同步。
- 应用程序可以随机读取某一台从服务器的数据,这样就可以分摊读取数据的压力。
- 当从服务器不能工作时,整个系统将不受影响;当主服务器不能工作时,可以方便地从从服务器选举一台来当主服务器。