当我们访问一个网站时,这个数据在网络中是如何流通的,服务器之间又是如何配合处理的,今天我们来聊一下!
数据走向
首先,客户端会请求数据,请求通过外网连接到路由器,路由器会将请求的目标地址转换为内网 IP,也就是虚拟分发 192.168.1.200。
虚拟分发 IP 在 Master 服务器上面,Backup 服务器使用 Keepalived 监测其是否存活,Backup 服务器会通过 VRRP 协议,使用 24.0.0.18 组播来监测。如果 Master 宕掉了,Backup 服务器会将虚拟 IP 抢过来,下次由 Backup 负责分发,直到 Master 恢复后,会将虚拟 IP 抢回去。
还有一种情况,就是设置两个 Backup 服务器,这时需要给它们设置优先值,优先值较高的服务器充当 Master 身份,会占有虚拟 IP,当这台服务器宕机,另一台会将虚拟 IP 抢占过来,然后变成 Master 的身份。
分发器会把请求分别发送给 Web 服务器。Apache 可以解析静态的页面,动态页面会交给 PHP 处理。PHP 需要配合 MySQL 使用,在获取数据时,PHP 会先去 MemCache 中查找,如果有此数据,PHP 会直接输出给请求端,如果没有数据,PHP 会去 MySQL 查找,MySQL 将数据返回给 PHP,PHP 在收到数据之后,会将数据复制一份,放在 MemCache 中。
条评论