绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
WebSphere eXtreme Scale 概述
2022-04-18 11:08:39

WebSphere® eXtreme Scale 许可程序是灵活的可缩放内存中数据网格。此数据网格跨多个服务器以动态方式对应用程序数据和业务逻辑进行高速缓存、分区、复制和管理。WebSphere eXtreme Scale 可高效执行大量事务处理,且具有线性可伸缩性。 借助 WebSphere eXtreme Scale,您还可以获得事务完整性、高可用性和可预测响应时间之类的服务质量。

可通过不同方式使用 WebSphere eXtreme Scale。您可以将产品用作非常强大的高速缓存且用作内存中数据库处理空间,以管理应用程序状态,或构建 Extreme 事务处理 (XTP) 应用程序。 这些 XTP 功能包含应用程序基础结构以支持您要求高的关键业务应用程序。

弹性可伸缩性

通过使用分布式对象高速缓存可实现弹性可伸缩性。通过弹性可伸缩性,数据网格监视和管理自身。数据网格可以从拓扑添加或移除服务器,这可根据需要增大或减小内存、网络吞吐量和处理容量。当启动扩展进程时,在数据网格正在运行时向数据网格添加容量,而无需重新启动。相反,收缩进程立即移除容量。数据网格还可通过自动从故障进行恢复来进行自我修复。

WebSphere eXtreme Scale 与内存中数据库

不能将 WebSphere eXtreme Scale 视为实际内存中数据库。内存中数据库过于简单,无法处理 WebSphere eXtreme Scale 可管理的一些复杂问题。如果内存中数据库具有的服务器发生故障,那么它无法修复此问题。如果整个环境在一台服务器上,那么故障是灾难性的。

要跟踪此类型故障的问题,eXtreme Scale 将给定数据集拆分为分区,这些分区与受限树模式等效。受限树模式描述实体之间的关系。当您使用分区时,实体关系必须对树数据结构进行建模。在此结构中,树的头为根实体,且仅为分区的实体。根实体的所有其他子代和根实体存储在相同分区中。每个分区作为主分片或副本分片存在。 一个分区还包含用于备份数据的副本分片。 由于内存中数据库不是结构化的动态数据库, 因此它无法通过此方式提供此功能。通过内存中数据库,您可以实现 WebSphere eXtreme Scale 自动执行的操作。 您可以在内存中数据库上运行 SQL 操作,同时相比非内存中数据库提高了处理速度。WebSphere eXtreme Scale 具有其自己的查询语言,而不是 SQL 支持。此查询语言更为弹性,启用数据分区,并提供可靠的故障恢复。

具有数据库的 WebSphere eXtreme Scale

通过后写式高速缓存功能,WebSphere eXtreme Scale 可充当数据库的前端高速缓存。通过使用此前端高速缓存,吞吐量会增加,同时减少数据库装入和争用。WebSphere eXtreme Scale 以可预测的处理开销提供了可预测的可伸缩性。

以下图像显示,在分布式、一致高速缓存环境中,eXtreme Scale 客户机从数据网格发送和接收数据。可以自动将数据网格与后端数据存储器同步。由于所有客户机在高速缓存中看到相同数据,因此高速缓存是一致的。每部分数据仅存储在高速缓存中的一个可写服务器上。对每个记录创建副本可解决必须保留相同数据的多个副本的问题,还可避免可能发生的任何版本冲突。由于向数据网格添加了更多服务器,因此一致高速缓存可保存更多数据,且随着数据网格大小增大以线性方式进行扩展。还可以选择复制数据以实现更高故障容错性。
图 1. 拓扑
拓扑

WebSphere eXtreme Scale 具有称为容器服务器的服务器,这些服务器提供其内存中数据网格。这些服务器可在 WebSphere Application Server 中或在简单 Java™ Standard Edition (J2SE) Java 虚拟机上运行。多个容器服务器可在单个物理服务器上运行。因此,内存中数据网格可能很大。数据网格不受应用程序或应用程序服务器的内存或地址空间的限制,且不会对其产生影响。内存可以为正在多个不同物理服务器上运行的几百个或几千个 Java 虚拟机的内存总和。

作为内存中数据库处理空间,WebSphere eXtreme Scale 可以由磁盘、数据库或这两者支持。

虽然 eXtreme Scale 提供了多个 Java API,但是很多用例不需要用户编程,仅需要在 WebSphere 基础结构中进行配置和部署。

数据网格概述

为简单的 eXtreme Scale 编程接口为 ObjectMap 接口,这是一个简单映射接口,包含:用于将值放入高速缓存的 map.put(key,value) 方法以及用于后续检索该值的 map.get(key) 方法。

基础数据网格样式是键/值对,其中数据网格存储值(Java 对象)以及关联键(其他 Java 对象)。后续会使用键来检索值。在 eXtreme Scale 中,映射包含此类键/值对的条目。

WebSphere eXtreme Scale 使用多个 Java 虚拟机或服务器提供了多个数据网格配置(从单个简单本地高速缓存到大型分布式高速缓存)。

您除了可以存储简单 Java 对象,还可存储具有关系的对象。 可将 SQL 之类的查询语言与 SELECT … FROM … WHERE 语句配合使用来检索这些对象。例如,订单对象可以具有客户对象和多个与其关联的商品对象。WebSphere eXtreme Scale 支持一对一、一对多、多对一和多对多的关系。

WebSphere eXtreme Scale 还支持用于在高速缓存中存储实体的 EntityManager 编程接口。此编程接口类似于 Java Enterprise Edition 中的实体。可以从 Java 类中的实体描述符 XML 文件或注释自动发现实体关系。您可以通过在 EntityManager 接口上使用 find 方法从高速缓存按主键检索实体。可以将实体保存到事务边界中的数据网格,或从其中移除。

考虑分布式示例,其中,键为简单字母名称。可以将高速缓存按键拆分为四个分区:分区 1(针对以 A-E 开始的键),分区 2(针对以 F-L 开始的键),以此类推。为实现可用性,分区具有主分片和副本分片。对主分片进行对高速缓存数据的更改,且将这些更改复制到副本分片。配置包含数据网格数据的服务器数,且 eXtreme Scale 会将数据分布到跨这些服务器实例的分片。为实现可用性,将副本分片放置到不同于主分片所在的物理服务器中。

WebSphere eXtreme Scale 使用目录服务以查找每个键的主分片。当物理服务器发生故障且后续进行恢复时,它会处理在 eXtreme Scale 服务器之间的分片移动。例如,如果包含副本分片的服务器发生故障,那么 eXtreme Scale 会分配新副本分片。如果包含主分片的服务器发生故障,那么会将副本分片提升为主分片。正如之前,构造新副本分片。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

WebSphere eXtreme Scale
创建时间:2022-04-18 11:02:53
WebSphere eXtreme Scale
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 飘絮絮絮丶
    专家
戳我,来吐槽~