Junos Space 高可用性软件架构概述
Junos Space 平台采用群集式多层分布式架构,旨在确保 99.9999% 的可用性,该架构包含以下功能:
-
基于浏览器的标准 Web 2.0 GUI 客户端和基于 REST/HTTPS 的 NBI 客户端
-
Apache Load Balancer 作为顶级负载均衡器
-
JBoss Application Server 基于 J2EE 技术提供应用框架
-
用于管理持久数据的MySQL数据库
-
Cassandra 分布式文件系统,用于存储设备映像文件和来自 Junos Space 应用程序的文件
以下部分介绍了 Junos Space 体系结构,并确定了 Junos Space 群集中节点之间通信的基本要求:
Junos Space 软件架构
图 1 提供了 Junos Space 软件架构的高级视图。GUI 和 NBI 客户端可通过群集的单个虚拟 IP 地址访问 Junos Space 服务。
来自客户端的请求通过 Apache HTTP 负载均衡器在群集中的多个节点之间进行负载平衡,该负载均衡器以主动-热备用配置部署在群集中的两个节点上。拥有虚拟 IP (VIP) 地址的节点上的负载均衡器充当活动实例。如果当前拥有 VIP 地址的节点出现故障,则 Linux 虚拟服务器 (LVS) 群集中的另一个节点将检测到此故障并自动接管 VIP 地址。HTTP 请求使用轮询算法在集群中的所有活动 JBoss 服务器之间进行负载均衡。
集群中的活动 JBoss 服务器为 Junos Space 应用提供应用框架,包括以下服务:
-
托管应用程序和关联的业务逻辑
-
群集中的应用级负载平衡
-
应用监控和自动恢复
-
群集节点监控和自动恢复
-
通过JDBC直接访问MySQL DB的数据库服务
-
托管设备中介逻辑
负载平衡架构
Junos Space 群集会呈现两种负载:
-
来自 GUI 和 NBI 客户端的传入请求
-
与托管设备通信
Junos Space 旨在在群集中的所有活动节点之间对传入请求进行负载平衡。来自 GUI 和 NBI 客户端的请求以 HTTP 请求的形式到达,由 Apache HTTP 负载均衡器的活动实例提供服务。负载均衡器使用轮询算法将请求分发到集群中的所有活动 JBoss 服务器。粘性会话用于确保与特定 GUI 会话关联的所有 HTTP 请求在该会话的生命周期内由相同的 JBoss 服务器提供服务。为了实现应用级负载平衡,JBoss 业务逻辑将复杂请求作为一组子作业进行处理,这些子作业分布在集群中的多个节点上。例如,对四节点 Space 群集重新同步 100 台设备的单个请求会被分成 4 个子作业,这些子作业在 4 个不同的节点上执行,每个节点重新同步 25 台设备。有关负载平衡的详细概述,请参阅了解 Junos Space 群集中的逻辑群集主题。
为了执行设备级负载平衡,Junos Space 在设备中介层 (DML) 中使用逻辑,以便设备连接均匀分布在群集中的所有活动节点上。在设备发现期间,通过比较各个节点提供的设备连接数并选择负载最小的节点来执行设备级负载平衡。如果任何节点发生故障,所有关联的设备连接都将分布到群集中的其余活动节点,从而防止节点中断影响设备连接。有关设备连接管理的详细概述,请参阅 了解 DMI 连接的高可用性管理主题。
数据库架构
MySQL企业版用于提供数据库服务,用于管理平台和应用程序的持久化数据。MySQL 数据库服务器在集群中的两个节点上运行,处于主动-备用配置。数据库事务在两个MySQL服务器之间近乎实时地复制。有关在每个 Junos Space 群集中形成的 MySQL 群集的信息,请参阅 了解 Junos Space 群集中的逻辑群集。
Junos Space 平台还整合了用于故障和性能管理的网络监控,使用 PostgreSQL 关系数据库服务来存储与故障和性能相关的数据。PostgreSQL 服务器在 Space 集群中的两个节点上运行,采用主动-主动配置,具有实时复制功能,以确保即使其中一个节点发生故障,故障和性能数据也继续可用。有关详细信息,请参阅 网络监视的高可用性。
Junos Space 群集中节点之间的节点间通信
为了促进空间群集中节点之间的无缝通信并实现群集的最佳性能,您需要确保以下几点:
-
Junos Space 群集中的所有节点都配置了同一子网内的 IP 地址。这对于 VIP 切换机制正常工作非常重要。
-
Space 集群中的所有节点都通过 1-Gbps 或 100-Mbps 本地网络连接,延迟可以忽略不计。
-
Junos Space 集群中的 JBoss 服务器通过 UDP 组播进行通信,从而形成逻辑集群。
注意:必须在群集中的节点内允许 UDP 组播流量,这也意味着您应该在互连群集的交换机上禁用 IGMP 侦听,或者将其显式配置为允许在节点之间进行 UDP 组播。
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。