考虑一个三层应用(网络服务器、应用服务器和数据库)。
[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/