《大规模Java平台虚拟化与调优》——2.3 Active-Active架构与现代化数据平台

简介:

本节书摘来自华章计算机《大规模Java平台虚拟化与调优》一书中的第2章,第2.3节,作者:(美)Emad BenjaminLiang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.3 Active-Active架构与现代化数据平台

图2-25展现了位于两个数据中心中的4个active-active端。在数据中心-1中,有Active-1A和Active-1B端,在数据中心-2中,有Active-2A和Active-2B端。Active-1A、1B、2A和2B端都包含了典型企业级应用的所有分层。在本例中,我们使用SpringTrader作为参考应用。对于数据中心-1来说,企业级应用实例可能同时分布于Active-1A和1B中,对于数据中心-2来说,情况类似。如果Active-1A出现了故障,Active-1B中的应用实例将会继续为访问流量提供服务,而不管Active-1A何时恢复在线状态。这表明Active-1B必须要准备承担Active-1A


<a href=https://yqfile.alicdn.com/94fb6fb68e9b2451ff3c6951f82ee8b381f7e016.png
" >

完整的峰值负荷。当然,有时候这不一定是可行的,因此部分额外的流量会转向数据中心-2,尤其是数据中心-2的地理位置在60英里的距离之内时。SLA需求会决定采用什么样的方式,如何平衡硬件成本和位置对SLA和响应时间的影响。你还可以使用如上所示的一种变体,也就是数据中心-1和2在60英里以内,而数据中心-3可以通过WAN连接。
如图2-26所示,联合使用了全局负载平衡器(global load balancer,GLB)和本地负载均衡器(local load balancer,LLB)来实现应用的快速响应,使其不受地理位置的负面影响。GLB会将用户的流量转移到本地地理位置的LLB。(例如,伦敦的流量会被转移到位于伦敦的LLB上,纽约的用户访问会被转移到纽约的LLB上,而东京的流量会转发到东京的LLB上)。GLB会保持与所有LLB的心跳连接并作出最优的路由决策。


c98618855b063d1a607f6b4dbe01e4b263208db2

地理位置节点的LLB配置池中都具有到每个SpringTrader应用服务的入口。图2-26展现了3个LLB配置。
东京的LLB池配置实际上是在负载均衡器池中所配置的4个SpringTrader应用服务。LLB有4个分发流量的入口。这4个入口在逻辑上分为Active-1A和Active-1B,这表明Active-1A应用服务的VM位于相同的vSphere主机上,而Active-1B SpringTrader应用服务的VM位于另外一个vSphere主机上。这种模式的LLB配置在纽约和伦敦站点上是类似的。要注意的是,对SpringTrader应用服务的流量是通过负载均衡的,但是每个应用服务到SQLFire数据fabric的通信是通过定位器的(locator),在这个调用中并没有涉及负载均衡器架构。在SpringTrader应用服务和SQLFire数据成员之间如果使用负载均衡器拦截调用的话是一种多余的行为,vFabric SQLFire定位器进程能够胜任对数据fabric访问的负载均衡和负载调节功能。
此外,为了更清晰地展现配置的其余部分,此处省略了Web服务器池的细节。如果你要添加对Web服务器池的单独配置,Web服务器会将LLB的流量分发到应用服务的LLB池中,理想情况下,要按照最少连接(least-connection)类型的调度算法。这意味着前端池(在本例中,也就是本地LLB Web服务器池)从GLB接收到访问流量,然后Web服务器池会将流量转发到应用服务的本地LLB中。在流量分发到具体的SpringTrader应用服务时,很重要的一点就是维持会话黏性(session stickiness)。注意,建议避免只有一个LLB Web服务器池(这意味着每个Web服务器池成员只指向一个具体的SpringTrader应用服务),这会提供一种不准确的容错性服务水平。SpringTrader应用服务,本质上也就是一个vFabric tc Server实例,可能会出现故障,但因为服务水平的测试是针对LLB Web服务器成员的,因此可能会产生误报(false positive)。最好是遵循双LLB的方式,在本地LLB所管理的地理节点中,有一个池用于Web服务器,另一个池用于SpringTrader应用服务。从active-active部署架构的视角来看,企业级应用层包含了两个主LLB池。第一个池中是一组vFabric Web服务器实例,它会将请求流量分发到第二个池中。到第二个池的典型分布式算法是最少连接算法。第二个池由vFabric tc Server实例组成,以无状态的方式运行,实际上,Web服务器和tc Server本身都是无状态的。没有必要再配置额外的Web服务器和tc Server集群,LLB会负责分布式流量。从Web服务器池到tc Server池的分发基于最少连接分布式算法,因此SpringTrader的会话一旦被初始化,在整个用户-会话/浏览器生命周期活动中,会话会保持粘性。
图2-27扩展了图2-26中的LLB池配置,在这个图中展现了2个LLB池,一个用于vFabric Web服务器,另一个用于vFabric tc Server实例。


fed690f7b6a89099d3f81952582dee716068b6fb
相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
Java 大视界 -- 基于 Java 的大数据实时数据处理在车联网车辆协同控制中的应用与挑战(197)
本文深入探讨了基于 Java 的大数据实时数据处理在车联网车辆协同控制中的关键应用与技术挑战。内容涵盖数据采集、传输与实时处理框架,并结合实际案例分析了其在车辆状态监测、交通优化与协同驾驶中的应用效果,展示了 Java 大数据技术在提升交通安全性与效率方面的巨大潜力。
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
1065 1
|
12月前
|
机器学习/深度学习 人工智能 监控
Java与AI模型部署:构建企业级模型服务与生命周期管理平台
随着企业AI模型数量的快速增长,模型部署与生命周期管理成为确保AI应用稳定运行的关键。本文深入探讨如何使用Java生态构建一个企业级的模型服务平台,实现模型的版本控制、A/B测试、灰度发布、监控与回滚。通过集成Spring Boot、Kubernetes、MLflow和监控工具,我们将展示如何构建一个高可用、可扩展的模型服务架构,为大规模AI应用提供坚实的运维基础。
757 0
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
本文深入探讨了Java大数据技术在智能金融理财产品风险评估与个性化配置中的关键应用。通过高效的数据采集、存储与分析,Java大数据技术助力金融机构实现精准风险评估与个性化推荐,提升投资收益并降低风险。
Java 大视界 -- Java 大数据在智能金融理财产品风险评估与个性化配置中的应用(195)
|
SQL 存储 监控
流处理 or 批处理?大数据架构还需要流批一体吗?
简介:流处理与批处理曾是实时监控与深度分析的两大支柱,但二者在数据、代码与资源上的割裂,导致维护成本高、效率低。随着业务对数据实时性与深度分析的双重需求提升,传统架构难以为继,流批一体应运而生。它旨在通过逻辑、存储与资源的统一,实现一套系统、一套代码同时支持实时与离线处理,提升效率与一致性,成为未来大数据架构的发展方向。
|
存储 供应链 数据可视化
Java 大视界 -- 基于 Java 的大数据可视化在企业供应链风险预警与决策支持中的应用(204)
本篇文章探讨了基于 Java 的大数据可视化技术在企业供应链风险预警与决策支持中的深度应用。文章系统介绍了从数据采集、存储、处理到可视化呈现的完整技术方案,结合供应链风险预警与决策支持的实际案例,展示了 Java 大数据技术如何助力企业实现高效、智能的供应链管理。
Java 大视界 -- Java 大数据在智能医疗手术风险评估与术前方案制定中的应用探索(203)
本文探讨了Java大数据技术在智能医疗手术风险评估与术前方案制定中的创新应用。通过多源数据整合、智能分析模型构建及知识图谱技术,提升手术风险预测准确性与术前方案制定效率,助力医疗决策智能化,推动精准医疗发展。
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
数据采集 机器学习/深度学习 Java
Java 大视界 -- Java 大数据在智能体育赛事运动员体能监测与训练计划调整中的应用(200)
本篇文章聚焦 Java 大数据在智能体育赛事中对运动员体能监测与训练计划的智能化应用。通过构建实时数据采集与分析系统,结合机器学习模型,实现对运动员体能状态的精准评估与训练方案的动态优化,推动体育训练迈向科学化、个性化新高度。
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。

热门文章

最新文章