web应用如何做高可用_Web应用程序的高可用性

本文探讨了关键任务Web应用在云环境中实现高可用性的策略。介绍了冗余、故障转移及虚拟IP地址等核心概念,利用Tomcat集群和负载均衡器确保即使在组件故障时,服务仍可无缝运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

web应用如何做高可用

随着越来越多的关键任务应用程序迁移到云中,使应用程序具有高可用性变得至关重要。 由于某种原因无法使用的应用程序,Web服务器关闭,数据库关闭等都意味着用户损失,收入损失,这可能对您的企业造成毁灭性的影响。 在此博客中,我们研究了一些基本的高可用性概念。

可用性意味着您的用户可以使用您的Web应用程序。 我们都希望我们的应用程序有100%的时间可用。 但是由于各种原因,它不会发生。 高可用性的目标是使应用程序尽可能多地可用。 通常,可用性表示为每年应用程序可用时间的百分比。 有人会说可用性是99%或99.9%,依此类推。

冗余和故障转移是用于实现高可用性的技术。 通过拥有多个服务器副本来实现冗余。 您有两个,而不是1个apache Web服务器。 一是活动服务器。 监视活动服务器,并且如果由于某种原因它发生故障,则将故障转移到活动的第二台服务器。 另一种方法是使用活动服务器集群,就像在tomcat集群中一样。 所有服务器均处于活动状态。 负载平衡器在群集的成员之间分配负载。 如果群集的一两个成员出现故障,则不会影响用户,因为其他服务器会继续处理。 当然,负载均衡器可能会成为故障点,并且需要冗余和故障转移。

如果要向云启动新的Web应用程序,则可以从如下所示的基本体系结构开始,而无需考虑任何HA。

阶段1:1个Tomcat Web服务器

阶段2:Tomcat集群

如下图所示,您可以通过使用tomcat群集来添加冗余和可伸缩性。 集群的前面是Apache Web服务器+ mod_proxy,它将请求分发到各个服务器。 Mod_proxy是负载平衡器。

现在,应用程序可以水平扩展。 Tomcat或应用程序故障不是问题,因为集群中还有其他服务器。 但是我们引入了一个新的失败点,即负载均衡器。 如果Apache + mod_proxy出现故障,则该应用程序不可用。

要了解有关设置tomcat集群的更多信息,请参阅Tomcat集群
要了解如何将负载平衡器与tomcat一起使用,请参阅Tomcat的负载平衡

阶段3:高可用性Tomcat集群

下图显示了如何消除故障点并提高负载均衡器的可用性。

您可以通过添加第二个apache + mod_proxy添加冗余。 但是,只有一种是活动的。 第二个Apache不处理任何请求。 它仅使用心跳之类的工具监视活动服务器。 如果由于某种原因,主动服务器关闭,则第二台服务器知道,被动服务器将接管IP地址并开始处理请求。 这是怎么发生的?

这是可能的,因为在全世界发布的此应用程序的ip地址是由两个apache共享的。 这被称为虚拟IP地址。 2个服务器共享虚拟IP时,TCP / IP仅将数据包路由到活动服务器。 当主动服务器出现故障时,被动服务器告诉TCP / IP开始将打算用于此IP地址的数据包路由到它。 有TCP / IP命令可以让服务器启动和停止侦听虚拟IP地址。

心跳和Ultramonkey等工具使您可以彼此保持心跳,并在必要时进行故障转移。 使用心跳,每个服务器上都有一个心跳过程。 配置文件包含有关虚拟IP地址,主动服务器,被动服务器的信息。 互联网上有几篇有关如何设置心跳的文章。

总而言之,您可以使用开源工具构建高度可用的应用程序。 高可用性,冗余,监视和故障转移,虚拟IP地址的关键概念适用于任何服务,而不仅仅是Web服务器。 您可以使用相同的概念来使数据库服务器高度可用。

参考:来自JCG合作伙伴的 Web应用程序的高可用性   The Khangaonkar Report博客上的Manoj Khangaonkar。


翻译自: https://www.javacodegeeks.com/2012/03/high-availability-for-web-applications.html

web应用如何做高可用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值