Oracle Coherence

分区


分区是指 Oracle Coherence 将数据的存储、访问和管理任务均衡地分布于集群中的所有服务器上的能力。例如,使用 Oracle Coherence 数据分区时,如果集群中有四台服务器,每台服务器将管理 25% 的数据;如果新增了一台服务器,每台服务器将动态调整为管理 20% 的数据。而且,这种数据负载平衡不会导致任何应用中断或者丢失任何数据或操作。类似地,如果五台服务器中的一台要崩溃,其余四台服务器将分别管理 25% 的数据,这种数据负载平衡不会导致任何应用中断或者丢失任何数据或操作,包括故障服务器上管理的 20% 的数据。

Oracle Coherence 通过同步维护集群中数据的可配置数量的副本,实现了故障切换,并且不会导致数据丢失。正如数据管理责任分散在整个集群上一样,备份数据的责任也是如此。所以在上例中,其余四台服务器分别备份故障服务器上大约 25% 的数据。这种网状架构可以确保一台服务器出现故障时,其余的任何服务器都不会疲于应付大量额外的责任。

即使应用的多个实例在集群内的一台
物理服务器上运行时,Oracle Coherence 也可以防止数据丢失。这是通过以下方法实现的:确保在不同的物理服务器上管理数据的备份副本,这样当某台物理服务器出现故障或断开连接时,它所管理的全部数据在另一台服务器留有备份。

最后,分区功能支持数据容量和吞吐量的线性可扩展性。通过将数据均匀分布在所有服务器上,分区功能实现了数据容量的可扩展性。因此四台服务器可以管理的数据自然是两台服务器的两倍。吞吐量的可扩展性也是将数据均匀分布于所有服务器上的直接结果。这是因为,随着服务器的不断增加,每台服务器都能使用全部的处理能力来管理整个数据集中所占百分比越来越小的数据量。例如,在一个由 10 台服务器组成的集群中,每台服务器需要管理 10% 的数据操作。同时,由于 Oracle Coherence 采用对等架构,这些操作的 10% 分别来自每台服务器。如果服务器数量变为原数量的 10 倍(即 100 台服务器),每台服务器仅管理 1% 的数据操作,同时仅有 1% 的数据操作来自每台服务器。但是由于服务器数量增为 10 倍,集群可以完成的操作数量也变为原数量的 10 倍!在 10 台服务器的示例中,如果每台服务器每秒发出 100 个操作,它们将分别把其中的 10 个操作发送给其余的每台服务器。结果是,每台服务器都会收到 100 个它负责处理的操作 (10x10)。在 100 台服务器的示例中,每台服务器每秒仍然发出 100 个操作,但它们仅把其中的 1 个操作发送给其余的每台服务器。结果是,每台服务器都会收到 100 个它负责处理的操作 (100x1)。这一线性可扩展性的实现得益于现代交换式网络架构,这种架构提供相关背板,它们可以随交换机的端口数量线性扩展,从而为每个端口提供专用的全双工(上行和下行)带宽。由于每台服务器仅发送和接收 100 个操作(在上述 10 个服务器和 100 个服务器的两个示例中),因此各端口的网络带宽利用率大致恒定,而与集群中服务器的数量无关。

下载

活动


网播和视频

Coherence Incubator


客户案例研究

新动态