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

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

本节书摘来自华章计算机《大规模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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
2月前
|
机器学习/深度学习 自然语言处理 分布式计算
大规模语言模型与生成模型:技术原理、架构与应用
本文深入探讨了大规模语言模型(LLMs)和生成模型的技术原理、经典架构及应用。介绍了LLMs的关键特点,如海量数据训练、深层架构和自监督学习,以及常见模型如GPT、BERT和T5。同时,文章详细解析了生成模型的工作原理,包括自回归模型、自编码器和GANs,并讨论了这些模型在自然语言生成、机器翻译、对话系统和数据增强等领域的应用。最后,文章展望了未来的发展趋势,如模型压缩、跨模态生成和多语言多任务学习。
238 3
|
2月前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
3月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
223 1
|
3月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
81 3
|
3月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
144 0
|
6天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
24天前
|
存储 SQL 分布式计算
大数据时代的引擎:大数据架构随记
大数据架构通常分为四层:数据采集层、数据存储层、数据计算层和数据应用层。数据采集层负责从各种源采集、清洗和转换数据,常用技术包括Flume、Sqoop和Logstash+Filebeat。数据存储层管理数据的持久性和组织,常用技术有Hadoop HDFS、HBase和Elasticsearch。数据计算层处理大规模数据集,支持离线和在线计算,如Spark SQL、Flink等。数据应用层将结果可视化或提供给第三方应用,常用工具为Tableau、Zeppelin和Superset。
267 8
|
2月前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
281 3
【赵渝强老师】基于大数据组件的平台架构
|
24天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
46 0
|
2月前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
182 10