服务器的高可用与服务器的容错有什么区别?


我来回答你的这个问题 。服务器的高可用与服务器的容错没有区别 。他们的目标 。都是为了保障业务的持续不间断工作 。不会因为单点故障 。而造成业务系统停机 。
在实际的项目中 。我们都是使用“服务器高可用集群 。避免单点故障 。保障业务冗余 。实现业务系统不间断工作”这样的描述来编写方案 。
比如我们的实际项目中 。考虑了最核心的业务系统 。重要环节的高可用:
从Internet 的出口硬件防火墙===>反向代理===> 应用服务器(Web 服务器)===》 数据库服务器 。以上这些环节 。我们都采用至少双机的模式 。来实现业务系统的高可用 。保障业务系统持续不间断的提供服务 。
一、 Internet 的出口防火墙 高可用
使用了 2 台硬件防火墙 。使用防火墙的HA功能 。实现Internet 出口的高可用 。
【服务器的高可用与服务器的容错有什么区别?】二、反向代理高可用
我们使用了2台Nginx 服务器作为反向代理服务器 。使用Keepalived 实现2台服务器的集群。提供 1个集群IP (VIP),用于防火墙将业务访问的数据流 。转发到集群虚拟IP (VIP) 。然后 Nginx 再将业务请求 。转发给后端的 应用服务器集群 。从而实现了反向代理系统的高可用 。
三、应用服务器高可用
应用服务器(Web服务器)采用至少2台以上的数量 。全部都部署相同的业务系统 。因此任何1台服务器出现故障宕机或者损坏 。都不会对业务系统的正常运行造成影响 。
三、数据库高可用
数据库使用集群功能 。以实现数据库的高可用 。如 Oracle 数据库可以使用 RAC 技术 。组建集群; SQL Server 可以使用 Always ON 技术组建集群 。
实际的项目网络结构图如下:

服务器的高可用与服务器的容错有什么区别?

文章插图
以上是项目中实际情况的一个高可用集群 。以此回答题主的问题 。

    推荐阅读