高可用性确实是分布式系统一项重要的指标,跟数据一致性,分区容错性组成了分布式系统的CAP原则,本文只针对高可用性分析如下:
高可用性:High Availability,保证分布式系统在较长的时间内能正常响应,持续可用,业界常用几个9的说法来说明高可用性,比如说5个9,就是99.999%,全年只能停机几十分钟而已!
毫无疑问,单点的系统是无论如何也不可能实现高可用的,因为受到单点故障,服务发布, *** 延迟等原因,客户端总会接收不到响应,即服务不可用!
比如数据库常用的集群手段有:
1,主从复制,读写分离:不能做到高可用,如果主机挂了,整个系统的写功能就不能用了!
2,分库分表:不能做到高可用,分库分表是把所有的数据分布到了很多的分库中,其中一个分库挂了,这部分数据就没了!
3,双主互备:可以做到高可用,双主机数据一致,能动态切换主库,其中一台坏了,另一台可提供使用!
双主互备得到的集群虽然实现了高可用,由于双机数据一致,限制了整个集群的容量!
分布式服务的高可用更加的复杂,因为分布式系统对外是一个整体,换句话说分布式的高可用需要保证分布式系统中包括应用系统,数据库,缓存系统,消息组件等所有服务的高可用性!
高可用性的解决 *** 一般来说比较单一,包括数据冗余,故障熔断,服务转移!
数据冗余保证在任何时候最新的数据都不丢失,多份数据冗余也为后期的数据还原提供基础!
故障熔断,服务转移保证单个服务不可用时,使用熔断防止服务不可用影响别的服务,并使用最新的健康服务以替换!
针对应用系统的单点,一定要压测出更大的容纳能力,同时可以使用负载均衡的方式搭建集群,服务还应该设计为幂等的,防止数据一致性问题!
高可用性解决方案貌似除了堆机器,没有更好的办法,不知道大家有什么手段,写出来让大家学习学习!
IT是什么意思IT就是互联网技术:指互联网技术指在计算机技术的基础上开发建立的一种信息技术。互联网技术的普遍应用,是进入信息社会的标志。
IT更新意味着升级到更快、更直观的现有平台版本。然而,当不同硬件能够更好地提供功能、显著提升性能或获得更高可靠性时,可以考虑在迁移过程同时升级硬件。
概念
之一层是硬件,主要指数据存储、处理和传输的主机和 *** 通信设备;
第二层是指软件,包括可用来搜集、存储、检索、分析、应用、评估信息的各种软件,它包括我们通常所指的ERP(企业资源计划)、CRM(客户关系管理)、SCM(供应链管理)等商用管理软件,也包括用来加强流程管理的WF(工作流)管理软件、辅助分析的DW/DM(数据仓库和数据挖掘)软件等;
第三层是指应用,指搜集、存储、检索、分析、应用、评估使用各种信息,包括应用ERP、CRM、SCM等软件直接辅助决策,也包括利用其它决策分析模型或借助DW/DM等技术手段来进一步提高分析的质量,辅助决策者作决策(强调一点,只是辅助而不是替代人决策)。
有些人理解的互联网技术把前二层合二为一,统指信息的存储、处理和传输,后者则为信息的应用;也有人把后二层合二为一,则划分为前硬后软。通常第三层还没有得到足够的重视,但事实上却是唯有当信息得到有效应用时IT的价值才能得到充分发挥,也才真正实现了信息化的目标。信息化本身不是目标,它只是在当前时代背景下一种实现目标比较好的一种手段。
卡尔的互联网技术是指什么呢?在那篇文章里面他并没有明确提出,不过他提到信息技术的核心功能--数据存储、处理和传输。从他推理的逻辑来看,即从蒸汽机、铁路、电报 *** 、电力等基础设施建设推过来的,还用摩尔定律来佐证主机和光纤的发展。
互联网技术这一概念上是经常含混不清:一会儿指主机 *** ,一会儿又指软件。信息技术本身只是一个工具,就象一柄利剑或一枝好笔。
参考资料
;search_id=1nc1he06kql0jk&view_id=1oyrdd1p2vu2o0