Oracle Coherence中文教程十六:使用群体

使用群体

本章包含以下各节:

概观

使用群集仲裁

使用分区的高速缓存定额组

使用代理法定人数

启用自定义操作策略

16.1概述

法定人数,在Coherence,是指在集群所需要的服务行动之前允许或不允许的服务成员的最低数目。法定人数是有利的,因为他们保证,集群行为预期的方式当成员达到阈值时,自动提供。例如,一个分区的高速缓存备份法定人数可能需要至少5存储功能分区的高速缓存服务之前允许备份分区。

法定人数特定服务和内法定人数政策定义;群集服务,分区的高速缓存服务的分区的法定政策,以及代理服务代理法定人数政策有一个群集仲裁政策。法定阈值设定使用缓存的配置文件上的政策。

每个法定人数提供其特定的服务的好处。然而,在一般情况下,定额组:

成员在不同的服务级别控制服务行为

强制服务业务所必需的最低服务会员级别

为特定的应用或解决方案确保最合适的集群和缓存环境

16.2使用群集仲裁

群集仲裁策略定义了一个单一的的法定人数(超时幸存者仲裁)群集服务。超时幸存者法定职权集群成员必须保持群集服务被终止时,集群中的犯罪嫌疑人成员的最低数量。一位成员被认为是犯罪嫌疑人,如果还没有回应网络通信,是从集群中被断开的危险迫在眉睫。笼统规定的法定人数可以跨所有成员或集群中的一个特定的角色,如客户端或服务器成员的成员有约束。群集成员定义角色名称的更多信息,请参阅“会员身份”的<role-name>元素。

这的法定人数通常用于网络性能变化的环境中。例如,间歇性的网络中断,可能会导致大量的集群成员从群集中删除。使用此法定人数,在停电期间保持一定数量的成员,当网络恢复。这种行为也最大限度地减少了人工干预,需要重新启动成员。当然,需要合作的节点不响应的请求无法完成,将被阻止停电持续时间或超时。

16.2.1配置群集仲裁策略

超时幸存者法定阈值配置在操作覆盖文件,使用<timeout-survivor-quorum>元素和可选的角色属性。这个元素必须使用内<cluster-quorum-policy>元素。下面的示例演示配置超时幸存者的法定人数门槛,以确保that5集群成员始终保持集群中的服务器角色,同时消除犯罪嫌疑人的成员:

<cluster-config>

<member-identity>

<role-name>server</role-name>

</member-identity>

<cluster-quorum-policy>

<timeout-survivor-quorum role="Server">5</timeout-survivor-quorum>

</cluster-quorum-policy>

</cluster-config>

16.3使用分区的高速缓存定额组

分区的高速缓存法定人数策略定义了四个分区的高速缓存服务(使用DistributedCache )强制多少服务之前,需要不同的分区的高速缓存服务操作可以法定人数:

Distribution Quorum - (分布定额)此的法定人数授权存储功能分区的高速缓存服务之前,必须存在分区的高速缓存服务被允许执行分区分配成员的最低数量。

Restore Quorum - (还原定额)这法定人数授权存储功能分区的高速缓存服务之前,必须存在分区的高速缓存服务允许从备份中恢复丢失的主分区成员的最低数量。

Read Quorum - (阅读定额)这法定人数授权处理读取请求必须存在一个分区的高速缓存服务的最小数量的存储功能的成员。一个读请求的任何要求,不发生变异的高速缓存中的状态或内容。

Write Quorum - (写定额)这法定人数授权存储功能分区的高速缓存服务必须存在处理写请求的最小数量。一个写请求的任何要求,可能会发生变异的高速缓存中的状态或内容。

这些法定人数通常用来表示服务成员水平不同的服务操作是最好的,执行给定的用途和要求的分布式缓存。例如,一个小型分布式缓存可能只需要三个存储功能的成员充分地存储数据和处理预计请求量。虽然一个大型的分布式缓存可能需要10或以上,存储功能,以充分的数据存储和处理要求量预计。最佳的成员水平都在开发和测试,然后进行相应设置,以确保最低服务会员水平在生产环境中置备。

如果运行服务的存储功能的节点的数量下降到低于所配置的电平的读或写仲裁,对应的客户端操作被拒绝丢进com.tangosol.net.RequestPolicyException 。如果启用存储节点的数量低于配置的层级分销法定人数,某些数据可能成为“濒危” (备份) ,直到达到法定人数。低于法定人数还原操作可能会导致一些被阻塞,直到达到法定人数或超时。

16.3.1配置分区的高速缓存法定人数政策

分区的高速缓存法定人数配置缓存配置文件内<partitioned-quorum-policy-scheme>元素。元素必须使用内<distributed-scheme>元素。下面的示例演示分区的高速缓存法定人数配置阈值。在理想的情况下,阈值将指示执行该操作所需要的最小量的服务成员。

<distributed-scheme>

<scheme-name>partitioned-cache-with-quorum</scheme-name>

<service-name>PartitionedCacheWithQuorum</service-name>

<backing-map-scheme>

<local-scheme/>

</backing-map-scheme>

<partitioned-quorum-policy-scheme>

<distribution-quorum>4</distribution-quorum>

<restore-quorum>3</restore-quorum>

<read-quorum>3</read-quorum>

<write-quorum>5</write-quorum>

</partitioned-quorum-policy-scheme>

<autostart>true</autostart>

</distributed-scheme>

<partitioned-quorum-policy-scheme>元素还支持计划参考使用。在下面的例子中,一个<partitioned-quorum-policy-scheme> ,分区缓存法定人数的名称,引用从内<distributed-scheme>元素:

<distributed-scheme>

<scheme-name>partitioned-cache-with-quorum</scheme-name>

<service-name>PartitionedCacheWithQuorum</service-name>

<backing-map-scheme>

<local-scheme/>

</backing-map-scheme>

<partitioned-quorum-policy-scheme>

<scheme-ref>partitioned-cache-quorum</scheme-ref>

</partitioned-quorum-policy-scheme>

<autostart>true</autostart>

</distributed-scheme>

<distributed-scheme>

<scheme-name>dist-example</scheme-name>

<service-name>DistributedCache</service-name>

<backing-map-scheme>

<local-scheme/>

</backing-map-scheme>

<partitioned-quorum-policy-scheme>

<scheme-name>partitioned-cache-quorum</scheme-name>

<distribution-quorum>4</distribution-quorum>

<restore-quorum>3</restore-quorum>

<read-quorum>3</read-quorum>

<write-quorum>5</write-quorum>

</partitioned-quorum-policy-scheme>

<autostart>true</autostart>

</distributed-scheme>

16.4使用代理仲裁

代理法定人数政策定义了一个单一的法定人数(连接法定人数)的代理服务。连接的法定授权代理服务的会员,必须提供代理服务,可以让客户端连接之前的最低数量。

这法定人数通常用来确保足够的代理服务人员提供最佳支持一个给定的TCP客户端。例如,一个小的客户端数量可能有效地连接到一个群集使用两个代理服务。虽然大量的客户可能需要3个或更多的代理服务,有效地连接到群集。在开发过程中进行测试的最佳水平,然后进行相应设置,以确保最低服务会员水平在生产环境中置备。

16.4.1配置代理仲裁政策

连接法定阈值配置缓存配置文件内<proxy-quorum-policy-scheme>元素。元素必须使用内<proxy-scheme>元素。下面的例子演示了如何配置连接法定人数门槛,确保3代理服务集群中的成员是否存在代理服务允许接受TCP客户端连接之前:

<proxy-scheme>

<scheme-name>proxy-with-quorum</scheme-name>

<service-name>TcpProxyService</service-name>

...

<proxy-quorum-policy-scheme>

<scheme-ref>proxy-quorum</scheme-ref>

</proxy-quorum-policy-scheme>

<autostart>true</autostart>

</proxy-scheme>

<proxy-scheme>

<scheme-name>proxy-example</scheme-name>

<service-name>TcpProxyService</service-name>

...

<proxy-quorum-policy-scheme>

<scheme-name>proxy-quorum</scheme-name>

<connect-quorum>3</connect-quorum>

</proxy-quorum-policy-scheme>

<autostart>true</autostart>

</proxy-scheme>

16.5启用自定义操作策略

可以使用自定义操作策略,而不是预设的法定政策群集服务,分区的高速缓存服务,代理服务。自定义的行动政策必须实现com.tangosol.net.ActionPolicy的的接口。

要启用自定义策略,内添加一个<class-name>元素,元素,包含实现类的完全限定名法定人数政策方案。下面的示例中添加自定义操作策略分布式缓存方案定义分区的法定政策:

<distributed-scheme>

<scheme-name>partitioned-cache-with-quorum</scheme-name>

<service-name>PartitionedCacheWithQuorum</service-name>

<backing-map-scheme>

<local-scheme/>

</backing-map-scheme>

<partitioned-quorum-policy-scheme>

<class-name>package.MyCustomAction</class-name>

</partitioned-quorum-policy-scheme>

<autostart>true</autostart>

</distributed-scheme>

作为替代方案,一个工厂类可以创建自定义操作策略实例。要定义一个工厂类,使用<class-factory-name>的的元素进入完全合格的类名和方法名在工厂执行对象实例化的类元素来指定静态工厂方法的名称。举个例子。

<distributed-scheme>

<scheme-name>partitioned-cache-with-quorum</scheme-name>

<service-name>PartitionedCacheWithQuorum</service-name>

<backing-map-scheme>

<local-scheme/>

</backing-map-scheme>

<partitioned-quorum-policy-scheme>

<class-factory-name>package.Myfactory</class-factory-name>

<method-name>createPolicy</method-name>

</partitioned-quorum-policy-scheme>

<autostart>true</autostart>

</distributed-scheme>

缓存配置案例

本节提供了一系列的基本高速缓存方案的定义,可以使用或根据需要进行修改。参见第12章,“配置高速缓存,”详细说明如何配置缓存。此外,样品在本章建立在互相经常使用一个<scheme-ref>元件的重复使用其他的样品作为嵌套计划。使用的<scheme-ref>元素的详细信息,请参阅“使用计划继承”。最后,这些样品只指定最少数量的设置,按照嵌入式计划的文档的链接,看到的全套选项。

本节主要介绍配置以下缓存方案:

本地缓存(可从单个JVM)

在内存缓存

NIO的内存缓存

大小限制在内存缓存

内存中缓存窝条目

磁盘上的缓存

磁盘上缓存大小有限公司

持续高速缓存磁盘

内存与基于磁盘的缓存溢出

数据库缓存

集群缓存(可从多个JVM)

复制缓存

复制缓存溢出

分区的高速缓存

分区的高速缓存溢出

数据库分区的高速缓存

分区的高速缓存与串行

近缓存

时间: 2024-08-29 17:45:15

Oracle Coherence中文教程十六:使用群体的相关文章

Oracle Coherence中文教程十:调整TCMP行为

调整TCMP行为 本章提供了指令TCMP默认设置改变. TCMP还提供简要概述.参见"了解TCMP TCMP其他细节.此外,请参阅Oracle Coherence的管理员指南,其中包括许多微调的建议和说明. 本章包含以下各节: 概述TCMP数据传输 节流数据传输 减少负载的捆绑包 更改数据包重传行为 配置传输数据包池大小 配置的数据包缓冲区的大小 调整数据包的最大尺寸 更改分组扬声器音量阈值的 更改消息处理行为 更改TCMP插座供应商实施 10.1概述TCMP数据传输 集群成员使用Tangoso

Oracle Coherence中文教程十九:使用便携式对象格式

使用便携式对象格式 使用便携式对象格式(POF)具有许多优点,包括语言独立性的性能优势.建议你仔细看您的系列化解决方案时,在POF工作具有连贯性.对于如何使用POF建设.NET时,延长客户的信息,请参阅"楼宇集成对象NET客户端"Oracle Coherence的客户端指南.对于如何构建C++扩展客户时,与POF的信息,请参阅"楼宇集成对象的C + +客户端"Oracle Coherence的客户端指南. 本章包含以下各节: POF系列化概述 使用POF API序列

Oracle Coherence中文教程十四:缓存数据来源

缓存数据来源 本章提供了用于缓存数据源使用作为临时记录系统的连贯性.本章包括样品和实施注意事项. 本章包含以下各节: 的缓存数据来源概述 选择一个高速缓存策略 创建一个缓存存储实现 在缓存存储实施堵漏 样品的缓存存储 可控的缓存存储范例 实施注意事项 14.1缓存数据源概述 Coherence支持透明,读/写缓存的任何数据源,包括数据库,Web服务,打包应用程序和文件系统,数据库是最常见的使用案例.作为速记, "数据库"是用来形容任何后端数据源.有效的缓存必须同时支持密集只读和读/写操

Oracle Coherence中文教程十五:序列化分页缓存

序列化分页缓存 本章提供了大量的二进制数据的离堆缓存信息. 本章包含以下各节: 了解序列化分页缓存 分页缓存配置序列化 优化分区的高速缓存服务 配置高可用性 配置负载平衡和故障转移 支持巨大的缓存 15.1了解序列化分页缓存 Coherence提供高效巨额自动过期数据使用潜在的高延迟的存储机制,如磁盘文件缓存的明确支持.其优点包括支持更大的数据集可以管理在内存中,同时保留出了管理时序的一个有效的终止机制(和自动释放的资源管理有关的) ,该数据.最佳使用场景包括许多大型对象存储能力,很少访问XML

Oracle Coherence中文教程二十:预加载缓存

预加载缓存 本章介绍了不同的模式,你可以用它来预加载缓存.该模式包括批量装载和分布载荷. 本章包含以下各节: 执行批量加载和处理 执行分布式批量加载 20.1执行批量加载和处理 例20-5, PagedQuery.java ,演示了在一个连贯缓存技术,有效地批量加载和处理项目. 20.1.1批量写入缓存 使用连贯性时,一个常见的场景是预先填充缓存应用程序使用它之前.一个简单的方法来做到这例20-1中的Java代码所示: 例20-1预加载缓存 public static void bulkLoad

Oracle Coherence中文教程二十五:Map管理操作触发器

Map管理操作触发器 Map触发补充标准的Oracle Coherence的能力,以提供高度自定义的缓存管理系统.例如,地图触发器可以防止非法交易,执行复杂安全授权或复杂的业务规则,提供透明的事件日志和审计,并收集统计数据修改.触发器的其他可能用途,包括限制行动,打击一个缓存,在应用程序重新部署时间发出. 例如,假设你有代码是与NamedCache工作,条目插入地图之前,你想改变一个条目的行为或内容.除了地图触发,而无需修改现有的代码,使你做出这种改变. 地图触发器也可以作为升级过程的一部分.除

Oracle Coherence中文教程二:安装Oracle Coherence

安装Oracle Coherence 本章提供说明安装Oracle Coherence的java(简称为Coherence).本章不包括安装连贯性的说明*扩展的客户端分发(C ++和.NET)或相干*网站.请参阅Oracle Coherence的客户指南和Oracle Coherence的Oracle Coherence的网络,用户指南,安装这些组件的说明. 本章包含以下各节: 系统要求 提取分派 设置环境变量 初次运行连贯性 2.1系统需求 以下是建议的最低系统要求安装在开发环境中的连贯性:

Oracle Coherence中文教程十三:实施存储和备份的Map

本章提供的信息存储使用备份地图.本章包含以下各节: 缓存层 本地存储 操作 容量规划 使用分区的备份地图 使用弹性数据功能来存储数据 使用三角洲备份的 13.1高速缓存层 分区(分布式)缓存服务在Coherence中有三个不同的层次: 客户视图 - 客户端视图代表一个虚拟层提供访问底层分区的数据.进入这一层提供使用NamedCache接口.在这一层,你也可以创建合成数据结构,如NearCache或ContinuousQueryCache的. 存储管理 - 存储管理器,服务器端负责处理高速缓存相关

Oracle Coherence中文教程二十六:使用Coherence Query语言

使用Coherence Query语言 本章介绍如何使用连贯性的查询语言(CohQL)互动与连贯性高速缓存. CohQL是一个重量轻语法(SQL的传统),用于执行高速缓存操作上的连贯群集.语言可用于以编程方式或从一个命令行工具. 本章包含以下各节: 了解连贯性查询语言语法 使用命令行工具CohQL 大厦过滤器在Java程序 其他相干查询语言范例 注意事项: 虽然可能会出现CohQL语法类似于SQL,重要的是要记住,不是SQL的语法,实际上是更多的上下文相关的Java持久化查询语言(JPQL)标准