Oracle coherence介绍
一.Coherence是什么
Oracle官方网站的描述是:Coherence 在可靠的、高度可伸缩的对等集群协议之上提供了复制的、分布式的(分区的)数据管理和缓存服务。Coherence 不存在单点故障,当某台服务器无法操作或从网络断开时,它可以自动且透明地进行故障切换并重新分布它的集群化数据管理服务。当新服务器加入或故障服务器重 启时,它会自动加入集群,Coherence 会将服务切回到该服务器,透明地重新分布集群负载。Coherence 包含网络级的容错特性和透明的软重启功能,以支持服务器自我修复。
Oracle Coherence 是一个适用于集群化应用程序和应用服务器的内存中分布式数据网格解决方案。通过使用 Oracle Coherence 快速、可靠地访问经常使用的数据,组织能够以可预测的方式扩展任务关键应用程序。
Oracle Coherence使客户可以将数据推送到更靠近应用程序的地方,从而提高访问速度和资源利用率。
二.Coherence的特点
1.分布式集群缓存
Coherence是一个分布式的缓存方案,并且通过集群为应用提供强大的缓存后备支持。Coherence主要是内存缓存,即存储区域主要在内存当中。
与一般的分布式缓存方案如JBossCache, Memcache 等相同,分布式缓存的价值基于网络IO性能高于DB查询的磁盘IO性能这样一个特点。
Coherence所有的设计都是基于多个(可以是非常多)的JVM,很多Coherence的测试都是使用几十甚至上百个节点来进行的。
2.自管理
Coherence使用的网络协议是TCMP ,是对UDP,TCP/IP的组合使用。Coherence能将启动的实例节点(Node)自动组成为集群(Cluster)。在一个局域网环境中,通过 多播(Multicast)机制,第1个启动的Node能自动发现后启动的Node,第1,2个Node同样能发现之后启动的其他Node,依次类推,自 动组成集群; 并且也能自动检测到死亡节点。集群各节点间通过单播(Unicast)机制进行数据复制,同步及发送通知消息。
Coherence集群以统一的逻辑试图对外提供缓存的读写接口,看起来使用Coherence Client就像在使用一个缓存一样。
3.自动容错和恢复
基于自管理的特点,一个Node挂掉后,集群能自动监测到,并做好死亡节点的数据恢复机制,客户端依然能正确的读出在死亡节点上存储的数据,容错和恢复对客户端来说是透明的。
4.分区缓存(Partitioned Cache)
这是Coherence与众不同的地方。一般集群如:JBossCache, Websphere 集群等,每个Node都有数据的完整拷贝,Node间通过复制来实现数据同步和一致性,一般来说采用全复制模式,即一份数据在各节点上都有一份拷贝。这种 模式下,节点要存储了较多的数据,同步复制时比较消耗网络带宽。
而Coherence的分区缓存只将一个Node上的数据在另一节点上做1个备份,有效降低复制的消耗好时间,并节省内存总需求,只需复制模式的1/N (N为缓存节点个数)。
5.线性扩展
假如你的Coherence集群已经有4个Node,当系统数据量过大引起Cache容量满员,导致缓存性能下降时,可以通过启动新的Node来扩容,改善集群的性能。
这一点也是源自分区缓存技术,集群有N个Node,每个Node只存放1/N的数据,这种设计让Coherence能够处理非常多的数据,只需要通过增加节点的数量,就可以处理更多的数据。
当两台机器,4个存储Node不够用时,通过新增机器,新增Node实例即可自动加入集群,提升Coherence缓存性能。
线性扩展更重要体现在性能上,Coherence集群通过增加机器,增加Node实例使得交易耗时大幅降低,而且随着集群规模呈线性下降。
6.易用性
虽然上述特点看起来似乎很复杂,但那都是Coherence自己内部的事儿。对于客户端来说,与最简单的Map 操作一样,仅仅是 put(key,value), get(key) 等。
NamedCache cache = CacheFactory.getCache("dist-cache");
cache.put(key, value);
Object value = cache.get(key);
正是基于以上技术和特点,Coherence成为一个高可用性,高扩展性,高性能但使用非常简单的网格型(Data Grid)分布式缓存框架。
Oracle coherence介绍相关推荐
- oracle coherence介绍及使用
网上除了官方用户指南,关于Coherence的介绍文章资料很少,因此总结出此文,从原理到快速指南和基本最佳实践,希望对需要的人提供一个参考. 1 Coherence 概述 1.1 Coherence是 ...
- coherence安装_在Oracle Coherence中分发Spring Bean
coherence安装 本文展示了如何通过使用Oracle Coherence中的EntryProcessor和可移植对象格式(POF)功能来分发Spring Bean. Coherence通过Ent ...
- 集群应用服务器环境中会话管理(复制)的Oracle Coherence最佳实践
Oracle Coherence是一种内存中数据网格产品,也广泛用于跨应用程序服务器节点集群的会话复制. 它支持各种应用程序服务器,例如WebLogic,WebSphere,Tomcat,JBoss等 ...
- 在Oracle Coherence中分发Spring Bean
本文展示了如何通过使用Oracle Coherence中的EntryProcessor和可移植对象格式(POF)功能来分发Spring Bean. Coherence通过EntryProcessor ...
- oracle rman 用户,Oracle RMAN介绍
Oracle RMAN介绍 RMAN是Recovery Manager的缩写,为Oracle的恢复管理器,是Oracle数据库推荐提供的一种恢复和备份数据库的工具,也是数据库管理员管理数据库常用的工具 ...
- 详解:Oracle数据库介绍 、字符、类型、语言
Oracle的介绍 是一个数据库管理系统,是Oracle公司的核心产品.其在数据安全性与安整性控制方面的优越性能,以及跨操作系统.跨硬件平台的数据操作能力.基于"客户端/服务 器" ...
- Oracle什么情况使用omf,ORACLE OMF介绍
ORACLE OMF介绍 先看Oracle 官方解释 Oracle managed file (OMF) A file that is created automatically by the Ora ...
- eclipse怎么配置oracle数据库,Eclipse连接Oracle数据库介绍
Eclipse连接Oracle数据库介绍 由于eclipse是开源产品,所以许多工具都以插件的形式提供由用户选择安装,许多文章中都提到了如何连接数据库,但是并没有说明需要加载以及如何加载数据库.jar ...
- Oracle Dataguard 介绍
Oracle DataGuard介绍 一. DataGuard的基本原理 当某次事务处理对生产数据库中的数据作出更改时,Oracle数据库将在一个联机重做日志文件中记录此次更改.在DataGuard中 ...
- com.tangosol.net.RequestPolicyException: No storage-enabled nodes exist for service oracle.coherence
严重: Exception sending context initialized event to listener instance of class com.tangosol.coherence ...
最新文章
- DataGrid和GridView单击背景变色双击颜色还原
- 每日英语:Losing It at the Movies: Silly Beats Sober in China's Box Office
- 开启nginx状态监控
- 在进入新版本 的时候,进行推送引导
- selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
- 如何使用 PTS 快速发起微服务压测
- C语言满分代码:L1-050 倒数第N个字符串 (15分)
- CSharp中的数组和ArrayList及List
- 6月开招|工业互联才是王道,最高可达50k!
- k折交叉验证matlab 流程_第51集 python机器学习:分层K折交叉验证及其他方式
- ado.not--综合练习
- 【leetcode】940. Distinct Subsequences II
- HBase 数据模型(Data Model)
- 自动驾驶 2-1 第 1 课补充阅读:传感器和计算硬件 -- 上
- 站立会议01(冲刺2)
- 【SpringBoot 框架】- SpringBoot 配置文件,深入浅出mysql第三版pdf百度云
- java 编辑pdf表格_Java 生成pdf表格文档
- 网吧十大漏洞曝光(转)
- [UPC] 2021秋组队17
- delphi 18位身份证号码的校验