• 【IP】虚拟IP原理


    使用场景:

           当这台机器出现故障时,自动动态切换到另一台热备的机器

    高可用性HA(High Availability)

      指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。

      实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。

    怎么实现故障检测的那?

          心跳,采用定时发送一个数据包,如果机器多长时间没响应,就认为是发生故障,自动切换到热备的机器上去。

    怎么实现自动切换那?

          虚IP:何为虚IP那,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的 任意一个都可以连接到这台主机,所有项目中数据库链接一项配置的都是这个虚IP,当服务器发生故障无法对外提供服务时,动态将这个虚IP切换到备用主机。

    实现原理

      主要是靠TCP/IP的ARP协议。因为ip地址只是一个逻辑 地址,在以太网中MAC地址才是真正用来进行数据传输的物理地址,每台主机中都有一个ARP高速缓存,存储同一个网络内的IP地址与MAC地址的对应关 系,以太网中的主机发送数据时会先从这个缓存中查询目标IP对应的MAC地址,会向这个MAC地址发送数据。操作系统会自动维护这个缓存。这就是整个实现 的关键。

      下边就是我电脑上的arp缓存的内容。

    (192.168.1.219) at 00:21:5A:DB:68:E8 [ether] on bond0
    (192.168.1.217) at 00:21:5A:DB:68:E8 [ether] on bond0
    (192.168.1.218) at 00:21:5A:DB:7F:C2 [ether] on bond0
    

      

      192.168.1.217、192.168.1.218是两台真实的电脑,

      192.168.1.217为对外提供数据库服务的主机。

      192.168.1.218为热备的机器。

      192.168.1.219为虚IP。

      大家注意红字部分,219、217的MAC地址是相同的。

      再看看那217宕机后的arp缓存

    (192.168.1.219) at 00:21:5A:DB:7F:C2 [ether] on bond0
    (192.168.1.217) at 00:21:5A:DB:68:E8 [ether] on bond0
    (192.168.1.218) at 00:21:5A:DB:7F:C2 [ether] on bond0 
    

      

    这就是奥妙所在。当218 发现217宕机后会向网络发送一个ARP数据包,告诉所有主机192.168.1.219这个IP对应的MAC地址是00:21:5A:DB:7F:C2,这样所有发送到219的数据包都会发送到mac地址为00:21:5A:DB:7F:C2的机器,也就是218的机器。

  • 相关阅读:
    实用的网站记录
    XML记一次带命名空间的xml读取
    WEB项目挂载到IIS session过期
    【EF】CodeFirst Fluent API使用记录
    【Unity】微软的一款依赖注入组件
    【AutoFac】依赖注入和控制反转的使用
    【JavaScript】封装实用方法【持续积累】
    【Config】类库读取自己的配置文件,配置文件的扩展
    【c#】队列(Queue)和MSMQ(消息队列)的基础使用
    0、Java配置----JDK开发环境搭建及环境变量配置
  • 原文地址:https://www.cnblogs.com/itplay/p/11022852.html
Copyright © 2020-2023  润新知