什么是GEM封装_Gem是什么意思

什么是GEM封装_Gem是什么意思1什么是GemFireGemFire是一个位于应用集群和后端数据源之间的高性能、分布式的操作数据(operationaldata)管理基础架构。它提供了低延迟、高吞吐量的数据共享和事件分发。GemFire充分利用网络中的内存和磁盘资源,形成一个实时的数据网格(datafabricorgrid)。GemFire的主要特性有:Ø多种网络拓扑_gemfire

1什么是GemFire

GemFire是一个位于应用集群和后端数据源之间的高性能、分布式的操作数据(operational data)管理基础架构。它提供了低延迟、高吞吐量的数据共享和事件分发。GemFire充分利用网络中的内存和磁盘资源,形成一个实时的数据网格(data fabric or grid)

什么是GEM封装_Gem是什么意思

 

GemFire的主要特性有:

Ø  多种网络拓扑

Ø  高并发的内存数据结构,避免锁争夺

Ø  可选的ACID

Ø  序列化(native serialization)和智能缓冲(smart buffering)保证消息快速分发

Ø  同步或异步写磁盘

Ø  冗余内存拷贝

2网络拓扑和缓存架构

考虑到问题多样性和架构灵活性,GemFire提供了多种选项来配置在哪(where)以及怎样(how)管理缓存数据,这就使架构师能够从P2P(peer-to-peer)CS(client-server)WAN三种组件构建出合适的缓存架构。

2.1 P2P拓扑

P2P分布式系统中,应用程序使用GemFire的镜像(mirroring)功能来将大量数据跨结点分区(sharding)以及在这些结点间进行数据复制同步。下面主要讲一下GemFireP2P拓扑中的两个主要角色:mirrored镜像结点和partitioned分区结点(具体见3.2mirror-type的配置方式)

因为在P2P拓扑中缓存数据与应用在一起,所以首先说一下嵌入式缓存。所谓嵌入式缓存(embedded cache)其实就是说缓存和应用程序在一起,直接利用应用服务器的内存空间。也就是我们常说的类似Ehcache的那种本地缓存(local cache)

什么是GEM封装_Gem是什么意思

 

mirrored结点就像一块磁铁一样,将其他数据区域的数据都吸附过来,形成一块完整的数据集合。当一块数据区域被配置为mirrored的结点第一次新建或重建时,GemFire将自动执行初始镜像抓取(initial image fetch)操作,从其他结点的数据子集中还原出完整的状态。如果此时网络中存在另一个mirrored结点,那么将会执行最优直接抓取(optimal directed fetch)

什么是GEM封装_Gem是什么意思

 

所以我们很容易看出,mirrored结点主要出于两种目的:

Ø  对于大量读的应用,应用程序通过保存全量数据,使客户端请求可以即时访问到想要数据,而无需经过网络传输

Ø  当发生故障时,mirrored结点可以用来恢复其他结点

 

不同于mirrored结点,每个partitioned结点都持有唯一的一块数据。应用程序就像操作本地数据一样,GemFire在幕后管理各个分区的数据,并且保证在至多一跳内(at most one network hop)完成数据访问。根据GemFire的哈希算法,分区数据会被自动放入到各个结点的bucket中。同时GemFire也会自动分配出冗余数据的位置并进行复制。当某个结点出错时,客户端请求会自动被重定向到备份结点。并且GemFire会重新复制出一份数据,从而保证数据的冗余拷贝数。最后,我们可以随时向网络中加入新的结点来对GemFire集群进行动态扩容。

什么是GEM封装_Gem是什么意思

 

P2P系统提供了低延迟、单跳(one-hop)数据访问、动态发现以及透明化的数据存储位置。但是,网络中的每个结点都要维持一个socket连接到其他每个结点。当结点增多时,连接数将成指数级增长。为了提高扩展性,GemFire提供了一种可靠的UDP多播的通信方式。在下一节中我们将看到,P2P数据同步在服务器间复制数据时的作用。

2.2 Client-Server拓扑

Client-Server缓存允许大量结点相连形成客户端服务器结构。服务器即为客户端提供缓存,也可以为其他服务器提供数据复制或缓存。

什么是GEM封装_Gem是什么意思

2.3 WAN拓扑

P2P集群由于点和点之间的紧耦合而产生了扩展性问题,这种问题在数据中心有多个集群或数据中心跨城市时被放大。GemFire提供另一种模型来解决。

什么是GEM封装_Gem是什么意思

3 GemFire工作原理

3.1发现机制

默认GemFire使用IP多播来发现新成员,然而所有成员间的通信都采用TCP。对于部署环境禁止使用IP多播或者网络跨越多个子网时,GemFire提供备用方法:使用轻量级的定位服务器(locator server)来追踪所有成员的连接。新成员加入集群时,将询问定位服务并建立类似于IP多播的socketsocketTCP连接。

3.2数据分发

每个成员都会创建一个或多个缓存数据区域(data region),通过区域的划分,我们能给每个区域配置不同的分发属性、内存管理以及数据一致性模型。默认GemFire使用P2P分发模型,每个成员都能和其他任何成员通信。同时根据不同的内网特点,传输层可选TCP/IP或可靠多播(UDP)。在这些配置中,有两个属性很重要,范围(scope)和镜像类型(mirror-type)

首先,范围(scope)有四种选项:

Ø  Local:不分发。那为什么不直接保存到HashMap中。因为GemFire额外提供了数据自动持久化到磁盘、OQL(Object Query Language)查询数据、数据操作的事务等特性。

Ø  Distribute-no-ack:发送数据给成员1,在发送数据给成员2时不等待成员1的响应。适用于对数据一致性要求不高,并要求低网络延迟的情况。这是GemFire的默认配置,能够提供低延迟、高吞吐,并通过尽快分发来降低数据冲突的概率。

Ø  Distribute-ack:在发送给成员2前,发送数据并等待成员1的响应。这样每条数据都是同步分发的。

Ø  Global:分发前在其他成员上获得锁,再分发数据。适用于悲观的应用场景,通过全局锁服务来管理锁的获得、释放和超时。

什么是GEM封装_Gem是什么意思

 

现在来看一下第二个重要的配置属性镜像类型(mirror-type)

Ø  none:仅当缓存中有此数据时才更新,任何其他成员发来的新数据都会被忽略掉。适用于某一数据区域仅用来保存另一区域数据的子集。

Ø  keys:数据区域仅保存key来节约内存,当真正有请求时再从其他区域抓取数据并保存到本地,之后接受对此数据项的更新。适用于无法预测哪些数据会被某一结点访问的情况。

Ø  keys-values:真正的镜像,将保存全量数据。适用于需要立即访问所有数据的结点,以及数据冗余备份。

 

这两个属性的配置对数据区域中保存的是什么数据有很大影响:

什么是GEM封装_Gem是什么意思

4持久化和溢出

持久化(persistence)将整个数据集拷贝到磁盘,当成员出错时可以用来还原数据。而溢出(overflow)保存key在内存中而value保存到磁盘,达到节省内存的目的。两者既可以单独使用,也可以混合使用。

4.1持久化

GemFire支持两种写磁盘选项:操作内存数据时同步写,或者固定间隔异步写。后一种只当应用在出错时能够容忍不完整的数据还原时使用。

什么是GEM封装_Gem是什么意思

4.2溢出

当内存不足时,GemFire使用LRU策略来决定是否对某个数据项溢出。

什么是GEM封装_Gem是什么意思

4.3混合使用

持久化与溢出可以混合使用。所有key-value都备份到磁盘,并且当内存不足时,只保留最近使用过的数据。由于LRU而被移除到磁盘的value不会对磁盘有影响,因为所有数据已被持久化到磁盘上了。

什么是GEM封装_Gem是什么意思

 

5事务

GemFire支持缓存事务与JTA事务两种。

5.1缓存事务

每个事务都有其私有的工作区域。事务开始时,数据将被拷贝到私有区域,直到事务提交。若提交时没有冲突,则数据从私有区域拷贝回原区域。这样事务就可以并发地修改缓存了。

什么是GEM封装_Gem是什么意思

 

对于范围(scope)配置为local的缓存数据区域,事务提交后就算是完成了。但对于分布式(scope=distributed-no-ack or distributed-ack),则在事务提交时要进行缓存同步。

6查询

(待补充:OOL)

7数据可用性和Failover

(待补充)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由思创斯整理,转载请注明出处: https://ispacesoft.com/197458.html

(0)
思创斯忠实用户-ss思创斯忠实用户-ss
0 0

相关推荐

  • eolinker接口管理接口自动化_eolinker使用教程「建议收藏」

    eolinker接口管理接口自动化_eolinker使用教程「建议收藏」

    eolinker接口管理接口自动化_eolinker使用教程「建议收藏」部署eolinker开源版接口管理想找一个API接口管理的软件,为了安全性和扩展性考虑,希望是开源的,而且可以在内网独立部署。网上翻找了资料,经过一份比对之后,最终采用eolinker。过去有使用过RAP,但是感觉界面实在是太丑了。我使用的是eolinker的免费开源版(3.0的版本),官网还提

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年1月17日
  • docker关闭开机启动_linux启动docker「建议收藏」

    docker关闭开机启动_linux启动docker「建议收藏」

    docker关闭开机启动_linux启动docker「建议收藏」docker启动命令,docker重启命令,docker关闭命令启动systemctlstartdocker守护进程重启sudosystemctldaemon-reload重启docker服务systemctlrestartdocker重启docker服务sudoservic

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年4月23日
  • api串口编程实例_WindowsAPI要学吗[通俗易懂]

    api串口编程实例_WindowsAPI要学吗[通俗易懂]

    api串口编程实例_WindowsAPI要学吗[通俗易懂]串口通信一般分为四大步:打开串口->配置串口->读写串口->关闭串口,还可以在串口上监听读写等事件。1、打开和关闭串口Windows中串口是作为文件来处理的,调用CreateFile()函数可以打开串口,函数执行成功返回串口句柄,出错返回INVALID_HANDLE_VALUE

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年4月18日
  • pynq-z2 HLS开发

    pynq-z2 HLS开发

    pynq-z2 HLS开发定制Overlay一.用HLS生成一个定制IP功啊啊是合理的创建标题,有助于目录的生成如何改变是式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入一.用HLS生成一个定制IP…

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2022年12月15日
  • Java 最常见的 200+ 面试题汇总[通俗易懂] Java

    Java 最常见的 200+ 面试题汇总[通俗易懂]

    Java 最常见的 200+ 面试题汇总[通俗易懂]这份面试清单原本是我们公司内部使用的,可到后来有很多朋友在微信上联系到我,让我帮他们找一些面试方面的资料,而且这些关系也不太好拒绝,一呢,是因为

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年5月12日
  • 模糊聚类分析方法_模糊聚类

    模糊聚类分析方法_模糊聚类

    模糊聚类分析方法_模糊聚类模糊数学模型系列博文:【1】基本概念:隶属函数、模糊集合的表示方法、模糊关系、模糊矩阵【2】模糊模式识别:海明贴近度、欧几里得贴近度、黎曼贴近度、格贴近度、最大隶属原则、择近原则【3】模糊聚类分析方法:模糊等价矩阵、模糊相似矩阵、传递闭包法、布尔矩阵法【4】模糊决策分析方法在工程技术和经济管理中,常常需要对某些指标按照一定的标准(相似的程度或亲疏关系等)进行分类处理…

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2023年1月3日
  • 合唱 队形_10个人合唱好看的队形

    合唱 队形_10个人合唱好看的队形

    合唱 队形_10个人合唱好看的队形题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足T1<T2<…&lt

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年2月8日
  • 电工实用口诀100条_电工配线必背口诀详解

    电工实用口诀100条_电工配线必背口诀详解

    电工实用口诀100条_电工配线必背口诀详解电工口诀测知电力变压器二次侧电流,求算其所载负荷容量:已知配变二次压,测得电流求千瓦。低压熔丝若熔断,五个原因来判断。

    思创斯忠实用户-ss 思创斯忠实用户-ss
    2024年5月29日

发表回复

您的电子邮箱地址不会被公开。

思创斯知道您想要的工具

  • pycharm 5.0.3安装教程激活码_pycharm哪个版本好用

    pycharm 5.0.3安装教程激活码_pycharm哪个版本好用

    2024年6月22日

  • 一个简单的网络爬虫入门python(包括开发环境搭建和pycharm激活)

    一个简单的网络爬虫入门python(包括开发环境搭建和pycharm激活)

    2024年6月3日

联系我们

关注“Java架构师必看”公众号

回复4,添加站长微信。

附言:ispacesoft.com网而来。

关注微信

玻璃钢生产厂家陕西卡通玻璃钢雕塑定制广东景观玻璃钢雕塑公司兴化玻璃钢马雕塑南宁学校玻璃钢雕塑生产厂家舟山玻璃钢雕塑厂树脂玻璃钢雕塑厂家电话商场的美陈带来的效果意义云浮玻璃钢动物雕塑供应商济南玻璃钢雕塑商场美陈小景图东莞玻璃钢花盆厂家安阳玻璃钢浮雕不锈钢树叶雕塑商场美陈麦穗玻璃钢浮雕泡沫雕塑加工商场春季美陈主题名称三水玻璃钢人物雕塑北京玻璃钢蝗虫雕塑张家口小区玻璃钢雕塑制作乌鲁木齐商场美陈大理市玻璃钢雕塑设计供应商工业玻璃钢雕塑摆件销售公司陕西镜面玻璃钢人物雕塑商场美陈仿真绿植创意设计大理市玻璃钢雕塑设计哪里买广州小品系列玻璃钢雕塑定做佛山发光动物玻璃钢雕塑生产商福建通道商场美陈销售卫滨玻璃钢雕塑厂家六安公园玻璃钢雕塑销售电话商场玻璃钢卡通雕塑厂香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化