首页 > 编程知识 正文

单点故障分析,单点故障问题

时间:2023-05-03 08:13:38 阅读:182406 作者:4303

什么是单点故障?虚拟,如果是一棵大树,根被削掉了,那片树叶还有活路,那枝还有意义吗?

说得专业一点,分布式体系结构中普遍采用主从模式【一个主服务器协同多个子服务器进行业务处理。 主服务器的作用主要是接受用户的请求,进行任务的发布工作,其次是子服务器接收任务,处理自己的专职内的业务】当主服务器挂起发生故障时,会引起整个系统的瘫痪,所以他

上述现象是可怕的,可以说是事故性的问题,所以我们一定要有应对措施。

通常,像我们这样的主服务负责任务的分发。 我们可以像主服务的功能一样打开替代服务。 备用服务器定期向主服务器发送请求,当主服务器响应时,认为主服务器仍在正常运行。 如果备用服务器没有收到响应,备用服务器将立即代替主服务器运行,以保持系统正常运行。 通常采用ping丢包格式来确定服务是否正常运行。

但是,仅仅通过ping丢包来判断一个服务器是否正常运行并不严格。 如果网络发生变化,或者主服务器在完全处理其他业务逻辑时响应不充分,备份服务器会误认为是主服务器而停机,直接接管主服务器的工作,两台服务器进行任务分发需要使用分布式锁。

分布式锁

分布式锁的作用是在某个请求发生高并发等操作时,为了保证该数据的正确性而对其进行限定。 通俗地说,我拜访一户人家的时候,我一进门就关门,我拜访完了,我就出来,开门,你们再争,去抢,谁抢了,学我的程序,一个接一个。 当然,访问人的时候,会出现停止依赖别人,不出来,人也进不去的锁定超时现象。 这些人会被强行带走,继续有秩序的访问。 分布式锁定可以使用redis缓存共享。

那么,通过分布式锁控制主服务器的数量,保证单个主服务器。

这里的分布式锁定主要通过Zookeeper实现,两个主节点在Zookeeper中注册一个节点。 注册完成后,编号最小的节点直接被任命为主服务器,其他服务器被锁定阻止,旁边等待。 Zookeeper向主服务器发送不定期的ping数据包,主服务器也向Zookeeper发送响应数据包。 Zookeeper收到主服务正常运行的回复,不能那么快就收到冷宝贝。 然后,那个没有回应的皇帝很快就会被T除掉。 如果上面写满了,但是因为网络震动等问题没有回应的话,即使你觉得停机了,也会直接删除那个主服务。 如果xxdds这个主服务落后的栗子来了(不断地在包里放ping,如果回应的话会被认为落后的栗子),也可以继续作为备用的主服务登录,继续排队。

其实说了这么多,都是有一个中间件服务在控制整体服务的运行,比如消息队列(MQ)之类的控制服务的有序进行,不可并存等。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。