apache - 构建无单点故障且容错的应用程序堆栈

标签 apache tomcat architecture webserver application-server

考虑一个三层应用(网络服务器、应用服务器和数据库)。

[Apache Web 服务器 -> Tomcat 应用服务器 -> 数据库]

如何构建没有单点故障且容错的应用程序堆栈(省略数据库部分)?

最佳答案

恕我直言,这是一个开放式的问题。单点故障有多具体 - 单个应用服务器、单个物理服务器、单个数据中心、网络?

起点是在集群中运行 Tomcat 和 Apache 服务器。或者,您可以运行单独的实例,在负载均衡器(如 HAProxy)的前面——除了,为了避免单点故障,您还需要负载均衡器的冗余。我最近参与了一个项目,我们有两个负载均衡器实例,前面有一个虚拟 IP (VIP)。负载均衡器使用循环法与两个不同的应用程序服务器实例通信。客户端连接到 VIP 以使用该应用程序,他们完全没有意识到它背后有多个服务器。

作为附加评论,您可能还想看看基于空间的架构 - https://en.wikipedia.org/wiki/Space-based_architecture .

关于apache - 构建无单点故障且容错的应用程序堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40912216/

相关文章:

web-services - SOA与客户端服务器与Web服务之间的区别是什么?

architecture - 如何在多个服务器上扩展Trie

asp.net - 使企业应用程序更加健壮 - ASP.NET/C#

linux - Vagrant 的鸡和蛋 : Shared folder with uid = apache user

php - 将 PHP(/PHP-FPM/Apache) 的临时上传文件存储在 RAM 而不是文件系统(或仅加密)中?

php - UTF-8贯穿始终

apache - 同一个 Symfony 应用程序上的多个域

java - 不为非浏览器的设备保存 session

java - 为什么我在此 REST 教程中得到 404?

tomcat - 从 Maven 插件为嵌入式 Tomcat 配置日志记录