WebSphere 或任何应用程序服务器集群如何工作?
当物理服务器因电源故障或其他原因不可用时,WebSphere 或任何应用程序服务器集群如何工作?
How does a WebSphere or any Application server clustering work in the case when a physical server is unavailable due to power failure or other reasons?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
WebSphere 的 Web 服务器插件组件将请求路由到 WebSphere 集群 Web 容器(在应用程序服务器 JVM 内)。如果它与特定集群成员发生通信故障,它将将该成员标记为关闭,并开始将所有请求路由到其余集群成员,直到原始成员再次可用。
详细信息会有所不同,具体取决于 Web 服务器前面是否有负载平衡器以及 Web 服务器所在的位置(同一框或单独框),但这是总体思路。
另外,如果您希望用户在集群成员出现故障时保留其 HttpSession,则必须启用某种会话持久性/复制。 WebSphere 允许集群成员之间的会话数据的内存复制或数据库支持的持久存储。
(这是我收集的一篇博客文章关于 WebSphere 插件如何工作的演示中的一些观察。)
WebSphere's web server plugin component routes requests to WebSphere cluster Web Containers (within Application Server JVMs). If it has communication failures with a particular cluster member, it will mark that member down and start routing all requests to the remaining cluster members until the original is available again.
The details vary depending on whether you have a load-balancer in front of the web server(s), where the web server(s) are located (same or separate box), but that's the general idea.
Also, if you want users to retain their HttpSessions when a cluster member goes down, you'll have to enable some kind of Session persistence/replication. WebSphere allows either an in-memory replication of Session data between cluster members or a database-backed persistent store.
(Here's a blog post where I collected some observations from a presentation on how the WebSphere plugin works.)