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

本章提供的信息存储使用备份地图。本章包含以下各节:

缓存层

本地存储

操作

容量规划

使用分区的备份地图

使用弹性数据功能来存储数据

使用三角洲备份的

13.1高速缓存层

分区(分布式)缓存服务在Coherence中有三个不同的层次:

客户视图 - 客户端视图代表一个虚拟层提供访问底层分区的数据。进入这一层提供使用NamedCache接口。在这一层,你也可以创建合成数据结构,如NearCache或ContinuousQueryCache的。

存储管理 - 存储管理器,服务器端负责处理高速缓存相关请求从客户端层的层。它管理的数据结构有实际的缓存数据(主要和备份副本)及有关锁,事件侦听器,地图触发器,和儿子。

备份地图 - 支持地图服务器端的数据结构,它包含实际的数据。

连贯性允许用户配置一些的箱背地图实现和定制的。基本上,唯一的约束,所有这些地图的实现必须要注意的是理解Storage Manager提供的所有键和值在内部(二进制)格式。要处理,内部数据和从对象格式转换,存储管理器可以提供备份Map实现一个BackingMapManagerContext参考。

图13-1显示了支持映射的概念视图。

图13-1备份地图存储

13.2本地存储

本地存储器是指实际存储或高速缓存的数据的管理的coherence数据结构。提供本地存储的对象,它必须支持相同的标准集合接口, java.util.Map。当本地存储的实现所使用的Coherence,复制或分布式数据存储,它被称为背地图,因为连贯性,本地存储的实现实际上是备份。本地存储的其他常见的用途是在前面的分布式缓存和背后的分布式缓存的备份。

Coherence支持以下的本地存储实现:

安全的HashMap :这是默认的无损实现。一种无损的实施是一个像Java的Hashtable类,
 既不是规模有限,也不自动届满。换句话说,它是从未驱逐( “损失” )  在它自己的缓存项目的一个实现。这种特殊的HashMap实现极高的线程
级并行优化。对于默认的实现,使用类com.tangosol.util.SafeHashMap ;实 施时需要提供缓存事件,使用com.tangosol.util.ObservableHashMap 。这
些实现是线程安全的。

本地缓存: 这是默认的size-limiting and auto-expiring实现。本地缓存覆盖在下面更

详细的,但要记住它的主要点是,它可以限制高速缓存的大小,一段时间 后,它可以自动缓存项过期。对于默认的实现中,使用

com.tangosol.net.cache.LocalCache ;此实现是线程安全的支持缓存事件,  com.tangosol.net.CacheLoader ,缓存存储区和配置/可插拔驱逐的政策。

读/写备份地图: 这是默认支持地图缓存实现负载从数据库高速缓存错过。它可以被配置为 只读缓存(消费者模型)或作为一个写式或后写高速缓存(生产者/消费 者模型) 。写后写模式仅仅是用于使用分布式缓存服务。附近的高速缓
存,如果使用近缓存必须保持同步的分布式缓存,它是可以结合起来使用, 这个底层映射基于切腹附近的高速缓存中与附近的高速缓存无效的目的。 对于默认的实现,使用类com.tangosol.net.cache.ReadWriteBackingMap 。

二进制地图( Java NIO的):  这是一个底层映射的实现,可以存储其信息在内存中,但 Java堆之外,甚至在内存映射文件,这意味着它不会影响 Java堆大小和相关的JVM垃圾收集性能,可以是负责应用
程序暂停。这个实现也可用于分布式缓存备份读为主和只读 缓存需要备份,高可用性的目的,这是特别有用的,因为这 意味着,备份不会影响Java堆大小,但它是可立即故障转 移的情况下。

序列化地图: 这是一个支持地图实现的一种形式,可以存储在磁盘上的数据转换,提到 作为一个序列化的形式。需要一个单独的com.tangosol.io.BinaryStore的对 象存储到它的序列化形式的数据,通常情况下,这是内置的LH磁盘存储
实现,但序列化地图支持任何BinaryStore自定义实现。序列化地图的默 认实现,使用com.tangosol.net.cache.SerializationMap 。

序列化缓存: 这是一个扩展的支持一个LRU驱逐政策的SerializationMap 。例如,序 列化缓存可以限制磁盘文件的大小。序列化缓存的默认实现,使用 com.tangosol.net.cache.SerializationCache 。

溢出地图: 溢出地图不实际提供存储,但本节中值得一提的,因为它可以将两个本地 存储实现,以便当第一个填满时,它进入第二溢出。对于的默认实现 OverflowMap ,使用com.tangosol.net.cache.OverflowMap 。

13.3操作

有一些执行的操作类型对支持地图:

Natural access and update operations caused by the application usage. For example, NamedCache.get() call naturally causes a Map.get() call on a corresponding Backing Map; the NamedCache.invoke() call may cause a sequence of Map.get() followed by the Map.put(); the NamedCache.keySet(filter) call may cause an Map.entrySet().iterator() loop, and so on.

Remove operations caused by the time-based expiry or the size-based eviction. For example, a NamedCache.get() or NamedCache.size() call from the client tier could cause a Map.remove() call due to an entry expiry timeout; or NamedCache.put() call causing some Map.remove() calls (for different keys) caused by the total amount data in a backing map reaching the configured high water-mark value.

Insert operations caused by a CacheStore.load() operation (for backing maps configured with read-through or read-ahead features)

Synthetic access and updates caused by the partition distribution (which in turn could be caused by cluster nodes fail over or fail back). In this case, without any application tier call, some entries could be inserted or removed from the backing map.

13.4容量规划

根据在实际执行中,支持地图存储缓存中的数据,通过以下方式:

堆内存

离堆内存

磁盘(内存映射文件或进程DB )

固态设备(日志文件)

任何上述的组合

保持在内存中的数据自然提供的访问和更新的延迟显着更小的,并且是最常用的。

更多的往往不是,应用程序必须确保数据放入数据网格的总金额不超过某一预定的内存量。这是可以做到无论是直接由应用层逻辑或自动使用大小或期满驱逐。很自然地,连贯缓存中保持的数据的总量等于在所有相应的支持地图(每每个群集节点上运行相应的分区的高速缓存的服务模式启动,在存储)的数据量的总和。

考虑下面的缓存配置摘录:

<backing-map-scheme>

<local-scheme/>

</backing-map-scheme>

支持地图上面是一个实例com.tangosol.net.cache.LocalCache没有任何预先确定的大小的限制,并明确已被控制。不这样做,可能会导致JVM内存出去。

<backing-map-scheme>

<local-scheme>

<eviction-policy>LRU</eviction-policy>

<high-units>100m</high-units>

<unit-calculator>BINARY</unit-calculator>

</local-scheme>

</backing-map-scheme>

上面这个 backing map也是com.tangosol.net.cache.LocalCache的,并有100MB容量的限制。作为持后盾地图数据的总量超过高水位,有些项目是从底层映射中移除,使音量的低的水印值( <low-units>配置元素,女巫默认的75%的<high-units> ) 。删除的条目的选择是基于LRU (最近最少使用)驱逐策略。其它选项为LFU (最不频繁使用的)和混合( LRU和LFU的组合) 。值<high-units>限制为2GB 。为了克服这种限制(但保持向后兼容性)相干使用<unit-factor>的元素。例如, 8192与一个<unit-factor> 1048576结果在高水印值8GB的<high-units>价值。

<backing-map-scheme>

<local-scheme>

<expiry-delay>1h</expiry-delay>

</local-scheme>

</backing-map-scheme>

自动驱逐的后盾地图都没有更新过了一个多小时的任何条目。请注意,这样的驱逐是一个“懒” ,随时可能发生一小时后,自上次更新以来发生的唯一保证连贯性规定是不超过一个半小时的条目返回到来电。

以下后盾地图是一个的实例com.tangosol.net.cache.SerializationCache值存储在扩展内存(NIO) ,并有100MB容量的限制(100 * 1048576) 。

<backing-map-scheme>

<external-scheme>

<nio-memory-manager>

<initial-size>1MB</initial-size>

<maximum-size>100MB</maximum-size>

</nio-memory-manager>

<high-units>100</high-units>

<unit-calculator>BINARY</unit-calculator>

<unit-factor>1048576</unit-factor>

</external-scheme>

</backing-map-scheme>

配置备份存储缓存离堆(或映射文件) :

<backup-storage>

<type>off-heap</type>

<initial-size>1MB</initial-size>

<maximum-size>100MB</maximum-size>

</backup-storage>

13.5使用分区备份地图

传统的后盾map的实现包含了相应的节点所拥有的所有分区的条目。 (在分区转移,它也可以保持“飞行”,从客户端的角度暂时不属于任何人)的项目。

图13-2所示的概念视图常规后备地图实现。

图13-2常规衬地图实现

分区支持地图基本上是一个复用器实际Map实现,每一个都将包含只有属于同一个分区的条目。

图13-3显示了一个概念视图分区支持地图实现。

图13-3分区备份Map实现

要配置一个分区后备地图中,添加一个<partitioned>元素的值为true。例如:

<backing-map-scheme>

<partitioned>true</partitioned>

<external-scheme>

<nio-memory-manager>

<initial-size>1MB</initial-size>

<maximum-size>50MB</maximum-size>

</nio-memory-manager>

<high-units>8192</high-units>

<unit-calculator>BINARY</unit-calculator>

<unit-factor>1048576</unit-factor>

</external-scheme>

</backing-map-scheme>

这是后盾地图的一个实例:com.tangosol.net.partition.PartitionSplittingBackingMap,与单个分区地图被实例的持有com.tangosol.net.cache.SerializationCache每个储备在扩展内存(NIO)的值。个人NIO缓冲器具有50MB的限制,而作为一个整体的支持地图有8GB的容量限制(8192 *1048576)。同样,您必须配置备份存储缓存堆或文件映射。

13.6使用弹性数据功能来存储数据

弹性数据功能用于无缝地存储数据在内存和基于磁盘的设备。此功能特别调整,利用快速的基于磁盘的设备,如固态硬盘( SSD ) ,使接近内存的速度,同时存储和读取数据从SSD 。弹性数据功能使用的技术称为日志,以优化整个内存和磁盘存储。

弹性数据包含两个不同的部分组成: RAM用于存储数据在内存和闪存杂志将数据存储到基于磁盘的设备杂志。这些可以在不同的组合方式相结合,通常用于支持地图和备份存储,但也可以使用复合的高速缓存(例如,附近的高速缓存) 。 RAM杂志总是用闪光灯期刊,实现无缝溢出到磁盘。

使用RAM和闪存期刊的缓存配置为缓存配置文件内定义的缓存方案的一部分。日记行为配置,根据需要,通过使用一个运算覆盖文件覆盖盒配置。

在本节包括以下主题:

日志概述

定义日记帐计划

改变日志行为

13.6.1日记概述

日志是指修改序列中的记录状态的变化的技术称为日志。随着发生变化,日志记录存储在内存中的一个特定的键和一个树形结构,每个值跟踪哪些日记条目包含一个特定的键的当前值。为了找到一个条目的值,你找到问题的关键在树,它包含一个指针的日记条目包含的最新值。

由于在杂志上的变化变得过时,因为一个键,过时的值被写入新值积聚在杂志上。每隔一段时间,过时的值被疏散空间新值写在日记。

弹性数据功能包括一个RAM期刊实施和闪存杂志实现彼此间进行无缝工作。例如,如果RAM的杂志耗尽内存,闪存杂志自动接受从RAM杂志溢出,允许缓存来扩大远远超出RAM的大小。

注意事项:

启用日志时,需要额外的容量规划,如果执行的是大结果集的数据网格的操作(如查询和聚合) 。请参阅Oracle Coherence的管理员指南的详细信息。

资源管理器控制日志。资源管理器创建和利用二进制存储执行操作日志。二进制存储由JournalBinaryStore类。所有读取和写入通过二进制存储资源管理器处理。 RAM期刊( RamJournalRM )和为闪存期刊( FlashJournalRM )的有一个资源管理器。最后,日志使用的SimpleSerializationMap类作为后盾地图实现。可根据需要创建自定义实现SimpleSerializationMap 。这些API的具体细节,请参阅Oracle Coherence的Java API参考。

13.6.2定义日记帐计划

<ramjournal-scheme>和的<flashjournal-scheme>元素用于配置RAM和闪存期刊缓存配置文件(分别) 。见“ramjournal-scheme”和“"flashjournal-scheme”,这些计划类型进行详细的配置选项。

在本节包括以下主题:

配置RAM日志备份Map

配置闪存日志备份Map

引用日志方案

使用日志备份存储计划

启用自定义地图日记计划实施

13.6.2.1配置RAM日志备份地图

要配置RAM支持地图“杂志,加入的<ramjournal-scheme>元素,缓存定义在<backing-map-scheme>元素。下面的示例创建一个分布式的缓存,使用RAM为后盾地图杂志。 RAM杂志自动委托闪存杂志RAM期刊超过配置的内存大小。请参阅“更改日志行为”更改内存设置。

<distributed-scheme>

<scheme-name>distributed-journal</scheme-name>

<service-name>DistributedCacheRAMJournal</service-name>

<backing-map-scheme>

<ramjournal-scheme/>

</backing-map-scheme>

<autostart>true</autostart>

</distributed-scheme>

13.6.2.2配置闪存日志备份Map

要配置闪光灯支持地图“杂志,加入的<flashjournal-scheme>元素,缓存定义在<backing-map-scheme>元素。下面的示例创建一个分布式的方案,采用闪存为后盾地图杂志。

<distributed-scheme>

<scheme-name>distributed-journal</scheme-name>

<service-name>DistributedCacheFlashJournal</service-name>

<backing-map-scheme>

<flashjournal-scheme/>

</backing-map-scheme>

<autostart>true</autostart>

</distributed-scheme>

13.6.2.3引用日记计划

RAM和闪存杂志计划都支持使用计划引用重用计划定义。下面的示例创建一个分布式的缓存配置RAM支持地图“杂志引用名为default -RAM RAM方案定义。

<caching-schemes>

<distributed-scheme>

<scheme-name>distributed-journal</scheme-name>

<service-name>DistributedCacheJournal</service-name>

<backing-map-scheme>

<ramjournal-scheme>

<scheme-ref>default-ram</scheme-ref>

</ramjournal-scheme>

</backing-map-scheme>

<autostart>true</autostart>

</distributed-scheme>

<ramjournal-scheme>

<scheme-name>default-ram</scheme-name>

</ramjournal-scheme>

</caching-schemes>

13.6.2.4使用日志备份存储计划

杂志计划用于备份存储以及为后盾地图。默认情况下,配置的分布式方案,使用RAM作为后盾地图杂志还采用了RAM备份存储杂志。同样,分布式计划使用闪光灯后盾地图杂志还采用了闪存备份存储杂志。显式地指定存储类型内<backup-storage>元素,可以修改这个默认行为。下面的配置使用RAM为后盾地图杂志,并明确配置备份存储闪存杂志:

<caching-schemes>

<distributed-scheme>

<scheme-name>default-distributed-journal</scheme-name>

<service-name>DistributedCacheJournal</service-name>

<backup-storage>

<type>scheme</type>

<scheme-name>example-flash</scheme-name>

</backup-storage>

<backing-map-scheme>

<ramjournal-scheme/>

</backing-map-scheme>

<autostart>true</autostart>

</distributed-scheme>

<flashjournal-scheme>

<scheme-name>example-flash</scheme-name>

</flashjournal-scheme>

</caching-schemes>

13.6.2.5启用自定义地图日记计划实施

杂志计划可以被配置为使用自定义地图。 ,定制映射实现必须扩展SimpleSerializationMap的类和公共构造完全相同的一组声明。要启用自定义实现,添加一个<class-scheme>的元素,其值是自定义类的完全限定名。任何所需的参数自定义类,可以定义使用<init-params>元素。下面的例子使实施称为MySimpleSerializationMap的自定义地图。

<flashjournal-scheme>

<scheme-name>example-flash</scheme-name>

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

</flashjournal-scheme>

13.6.3更改日志行为

资源管理器控制日志的行为。 RAM期刊( RamJournalRM )和资源管理器的Flash期刊( FlashJournalRM )的资源管理器。资源管理器配置为集群中Tangosol的相干override.xml的的业务覆盖文件。资源管理器的默认的设置是用来设置,如果没有配置覆盖。

在本节包括以下主题:

配置RAM期刊资源管理器

配置闪期刊资源管理器

13.6.3.1配置RAM期刊资源管理器

<ramjournal-manager>元素是用来配置RAM日志行为。下面的列表提供了一个简短的摘要,由资源管理器的默认设置。细节上的所有设置,其默认的“ ramjournal经理” 。

二进制值的默认限制为64KB (和最大4MB )

一个单独的缓冲是有限的(一个日志文件) ,默认为2MB (最大2GB )

日记是由多达512个文件

该杂志所使用的总内存1GB默认情况下是有限的(最大64GB )

注意事项:

自动使用闪光灯杂志的二进制值设置,或内存设置,或两者都超出。

要配置RAM资源管理“杂志上,加一个<ramjournal-manager>元素内<journaling-config>元素定义任何子元素,被覆盖。下面的例子演示如何重写每个可用的子元素:

<?xml version=‘1.0‘?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"

xsi:schemaLocation="http://xmlns.oracle.com/coherence/

coherence-operational-config coherence-operational-config.xsd">

<cluster-config>

<journaling-config>

<ramjournal-manager>

<maximum-value-size>64K</maximum-value-size>

<maximum-size>2G</maximum-size>

</ramjournal-manager>

</journaling-config>

</cluster-config>

</coherence>

13.6.3.2配置闪期刊资源管理

<flashjournal-manager>元素用于配置闪光行为“杂志。下面的列表提供了一个简短的摘要,由资源管理器的默认设置。细节上的所有设置,其默认的“ flashjournal经理” 。

二进制值默认为64MB的限制

一个单独的缓冲区(日志文件)是有限的,默认为2GB (最大4GB )

日记是由多达512个文件。

因此,日记是限制默认为1TB , 2TB ,最大的理论。

要配置闪存资源管理“杂志上,加一个<flashjournal-manager>元素内<journaling-config>元素定义任何子元素,被覆盖。下面的例子演示如何重写每个可用的子元素:

<?xml version=‘1.0‘?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"

xsi:schemaLocation="http://xmlns.oracle.com/coherence/

coherence-operational-config coherence-operational-config.xsd">

<cluster-config>

<journaling-config>

<flashjournal-manager>

<maximum-value-size>64K</maximum-value-size>

<maximum-file-size>8M</maximum-file-size>

<block-size>512K</block-size>

<maximum-pool-size>32M</maximum-pool-size>

<directory>/coherence_storage</directory>

<async-limit>32M</async-limit>

</flashjournal-manager>

</journaling-config>

</cluster-config>

</coherence>

注意事项:

用于存储日志文件中指定的目录必须存在。如果目录不存在,记录一个警告,由JVM的默认临时文件目录,指定,使用。

13.7使用增量备份

delta备份是技术,而不是取代初级入门的变化时,整个项目将更改应用到备份二进制项。 delta备份是对理想的情况下,正在更新的条目大,但只有小的变化正在。在这种情况下,用于改变该表项的只有一小部分的成本往往达不到与重写整个输入及结果的更好的性能相关联的成本。的条目超过50 %的变化通常表明很少或根本没有使用增量备份的性能增益。

delta备份使用的压缩机,比较两个在内存中的缓冲液中含有一个旧的和一个新的值,并产生一个结果(称为增量) ,可以应用到原来的值来创建新的值。 Coherence提供标准三角洲压缩机为POF和非POF格式。也可以创建自定义压缩机的要求配置。

13.7.1启用delta备份

增量备份仅适用于分布式缓存,默认是禁用的。增量备份是单独启用每个分布式缓存,分布式缓存服务类型的所有实例。

要启用分布式缓存的增量备份,加一个<compressor>元素,在一个<distributed-scheme>的元素,设置为标准。例如:

<distributed-scheme>

...

<compressor>standard</compressor>

...

</distributed-scheme>

为了使增量备份的分布式缓存服务类型的所有实例,重写分区的高速缓存服务的压缩机业务覆盖文件的初始化参数。例如:

<?xml version=‘1.0‘?>

<coherence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://xmlns.oracle.com/coherence/coherence-operational-config"

xsi:schemaLocation="http://xmlns.oracle.com/coherence/

coherence-operational-config coherence-operational-config.xsd">

<cluster-config>

<services>

<service id="3">

<init-params>

<init-param id="22">

<param-name>compressor</param-name>

<param-value

system-property="tangosol.coherence.distributed.compressor">

standard</param-value>

</init-param>

</init-params>

</service>

</services>

</cluster-config>

</coherence>

tangosol.coherence.distributed.compressor系统属性用于分布式缓存服务类型,而不是使用的业务覆盖文件的所有实例启用delta备份。例如:

- Dtangosol.coherence.distributed.compressor标准

13.7.2启用自定义的增量备份压缩机

要使用自定义的压缩机进行增量备份中,包括<INSTANCE>的子元素,并提供一个完全合格的类名,实现在DeltaCompressor界面。上使用<INSTANCE>元素的详细说明,请参阅“实例” 。下面的例子实现了自定义的压缩机,实现在MyDeltaCompressor类。

<distributed-scheme>

...

<compressor>

<instance>

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

</instance>

</compressor>

...

</distributed-scheme>

作为替代, <INSTANCE>的元素支持使用一个<class-factory-name>元素使用一个工厂类,它是负责创建DeltaCompressor实例,方法名元素来指定静态工厂方法执行对象实例的工厂类。下面的示例获取一个自定义压缩的实例使用的getCompressor方法上MyCompressorFactory类。

<distributed-scheme>

...

<compressor>

<instance>

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

<method-name>getCompressor</method-name>

</instance>

</compressor>

...

</distributed-scheme>

实施所需要的任何初始化参数可以指定使用<init-params>元素。的以下示例设置iMaxTime的参数至2000年。

<distributed-scheme>

...

<compressor>

<instance>

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

<init-params>

<init-param>

<param-name>iMaxTime</param-name>

<param-value>2000</param-value>

</init-param>

</init-params>

</instance>

</compressor>

...

</distributed-scheme>

时间: 2024-08-24 22:26:32

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

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

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

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

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

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

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

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

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

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

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

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

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

Oracle Coherence中文教程二十三:使用连续查询缓存

使用连续查询缓存 虽然有可能取得时间从连贯缓存查询结果中的一个点,并有可能以接收事件,将改变该查询的结果,连贯性提供了一个功能,它结合了与一个连续的数据流中的相关事件的查询结果在一个实时的方式保持一个最新的日期的查询结果.这种能力被称作连续查询,因为它具有相同的效果,如果想要查询的零延迟和查询被执行多次,每毫秒!点时间查询结果和事件的更多信息,请参见第22章,"查询缓存中的数据." 相干物化成一个连续查询缓存查询结果,然后,缓存保持最新实时查询使用事件侦听器实现连续查询功能.换句话说,

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

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

Oracle Coherence中文教程二十一:使用缓存事件

使用缓存事件 Coherence提供缓存使用JavaBean事件模型的事件.收到你的需要,你需要他们的地方,不管变化实际上是发生在集群中的事件,这是非常简单的.熟悉JavaBean模型的开发应与事件工作有没有困难,即使在复杂的群集. 本章包含以下各节: 监听器接口和事件对象 了解事件担保 支持活动的缓存和类 注册的所有活动 使用内部类作为MapListener 配置一个MapListener一个Cache 具体身份签约活动 过滤事件 "精简版"的活动 高级:听查询 高级:合成事件 高级