分布式系统的那些事儿(五) - 容错与故障

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 我们都经历过巨石应用,单一应用某个功能诱发的故障导致整个站点挂掉,任何人都无法访问,只能一一排错再部署上线,这样造成的影响就是用户的流失。而分布式应用就没有这样的问题,就算某个节点出现故障,那么主备切换,替换主节点,整个系统还是照样运行,完全没有访问不了的现象。

我们都经历过巨石应用,单一应用某个功能诱发的故障导致整个站点挂掉,任何人都无法访问,只能一一排错再部署上线,这样造成的影响就是用户的流失。而分布式应用就没有这样的问题,就算某个节点出现故障,那么主备切换,替换主节点,整个系统还是照样运行,完全没有访问不了的现象。

要使系统达到一定的容错性,那么

首先要实现的就是高可用,最简单的就是进行节点集群化,使用心跳机制让好的节点替换坏的节点。

其次要保证系统的稳定性,如果运维有事没事上去重启一次,这样也不太好吧(其实很多应用在一开始都是每周重启一次的)

然后整个系统平台的安全性当然要提高,比如防CSRF攻击,防IIS攻击等等,安全性一旦提高系统崩溃的几率也相应降低。

最后就是系统的可维护性,这个在我看来是最高级别的,一旦系统难以维护,那么开发人员以及运维人员的工作量是巨大的,甚至会出现有人不想维护而离职不干,这都是会发生的情况,所以一个系统的可维护性非常考验架构师的能力。

对于故障的分类有代码级别的,也有硬件方面的,硬件的故障咱们姑且不说,而代码方面的故障我们要做的就是日志分析了,设置好日志级别,在很多发生业务的地方会产生大量的日志,这个时候就需要ELK来进行分析了,通过日志来解决代码放的bug,也是必要的。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 调度
分布式锁设计问题之云存储的最佳实践中保障分布式锁的容错能力如何解决
分布式锁设计问题之云存储的最佳实践中保障分布式锁的容错能力如何解决
|
2月前
共识协议的技术变迁问题之状态机的命令序列实现如何解决
共识协议的技术变迁问题之状态机的命令序列实现如何解决
|
3月前
|
负载均衡 运维 监控
负载均衡与容错性:集群模式在分布式系统中的应用
本文由小米分享,解释了分布式系统中的集群模式。集群模式是通过组合多个服务器节点,共同提供服务,实现高可用性、负载均衡和扩展性。文章介绍了主控节点的角色及其高可用性策略,如主备模式和选举机制,并以Zookeeper为例详细阐述了其工作机制。集群模式的优势在于高可用性、负载均衡、扩展性和数据一致性,但也面临节点通信、数据一致性、故障检测和管理等挑战。最后,作者鼓励读者讨论和交流相关技术问题。
264 5
|
11月前
|
Dubbo Java 应用服务中间件
Dubbo第二讲:深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型
Dubbo第二讲:深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型
271 0
|
4月前
|
存储 关系型数据库 MySQL
分布式事物【什么是分布式事务、 分区容错性、一致性、可用性、】(三)-全面详解(学习总结---从入门到深化)
分布式事物【什么是分布式事务、 分区容错性、一致性、可用性、】(三)-全面详解(学习总结---从入门到深化)
78 0
|
存储 分布式计算 运维
大白话讲讲分布式存储系统的架构设计以及容错架构
分布式存储系统的架构设计旨在实现数据的分布式存储和负载均衡,通常采用数据分片和多节点存储的方式。容错架构则是为了提高系统的鲁棒性和可用性。在分布式存储系统中,容错架构常采用数据的冗余备份来应对节点故障或网络异常问题。通过复制数据到多个节点,即使某个节点发生故障,系统仍可以提供数据的可靠访问。此外,容错架构还包括故障检测和自动故障转移机制,用于及时检测节点故障,并将故障节点的任务转移给其他正常节点。这样可以保证系统在故障情况下仍能正常运行,并提供不间断的数据访问。通过合理的架构设计和有效的容错机制,分布式存储系统可以实现高可用性和数据可靠性,满足大规模数据存储和访问的需求。
941 0
大白话讲讲分布式存储系统的架构设计以及容错架构
|
存储 监控 大数据
|
存储 监控 NoSQL
如何使用Docker容器工具实现Redis分布式存储、容错切换、扩容缩容?
如何使用Docker容器工具实现Redis分布式存储、容错切换、扩容缩容?
231 2
|
消息中间件 负载均衡 Dubbo
|
算法 区块链
理解分布式一致性:拜占庭容错与PBFT
理解分布式一致性:拜占庭容错与PBFT
理解分布式一致性:拜占庭容错与PBFT