文档章节

分布式内存数据库 Geode

引鸩怼孑
 引鸩怼孑
发布于 2015/04/25 22:12
字数 1048
阅读 443
收藏 17

Geode是一个提供实时且高一致性的分布式数据管理平台,典型案例是中国铁路12306售票系统使用Geode管理10个集群节点,在内存中管理2T的热点数据和10个高可用弹性规模的后备节点。

Geode通过内存池 CPU 网络资源和可选本地磁盘跨多个进程来管理对象和行为,它使用动态复制和数据分区技术实现高可用性以及提高性能,保证高扩展性和容错性,除了是一个分布式数据容器,Geode还是一个内存in-memory内存数据管理系统提供可靠的异步事件通知和保证信息传递。

Geode作为一个极其成熟和强大的产品,其历史可以追溯到Smalltalk的第一个对象数据库:GemStone,Geode是第一次被部署在金融部门是作为华尔街交易平台的交易 低延迟数据引擎。如今有超过600个企业客户使用其实现高扩展的 24x7业务关键应用。典型案例是中国铁路售票系统。

主要概念和组件
缓存是在Geode分布式系统中描述节点的一个抽象。

在每个缓存中,你能定义数据区域region,数据区域是是类似于关系数据库中数据表的概念,以分布式风格作为name/value名称/值对来管理数据,一个可复制区域中存储的是分布式系统中每个缓存成员中数据的相同拷贝,一个分区区域是在缓存成员中传播数据,当系统配置以后,客户端应用能够根本不知道这些底层基础架构情况下访问区域中的被分布的数据,当数据改变时,你能定义监听者来接受通知,你能定义过期时间来删除区域中的过时数据。

Locator提供了服务发现和负载平衡的功能,你可以配置客户端使用一段Locator服务列表,而locator维持着动态服务成员列表,缺省情况下,Geode客户端和服务器使用端口40404广播发现彼此。

Geode有如下特性:
1. 综合冗余 复制和shared nothing的持久化架构,提供自动预防故障的高性能的传递。
2.横向扩展到数千万个缓存成员,使用多个缓存拓扑来满足不同企业需求缓存能够跨计算机分布。
3.异步和同步缓存更新传播
4.delta变化量传播能只在一个对象(delta)的新旧不同版本之间传播,而不是将整个对象进行传播,好处是显著降低了分布的开销。
5.可靠的异步事件通知,保证消息传递能实现定制的低延时的分布。
6.在没有附加硬件情况下,应用运行性能提高4到40倍。
7.数据敏感和实时商业智能,如果数据改变,你会立即能够看到改变。
8.集成Spring框架简化可扩展的事务企业应用。
9.JTA兼容事务支持
10.跨整个集群范围的配置能够持久或导出到其他集群
11.远程HTTP集群管理
12.REST API和激活REST应用开发
13.主版本滚动升级。

五分钟起步
从Pivotal获得源码,支持JDK1.7.75以上版本:

$ cd geode
$ ./gradlew build installDist


启动locator和服务器:

$ cd gemfire-assembly/build/install/geode
$ ./bin/gfsh
gfsh> start locator --name=locator
gfsh> start server --name=server


创建区域region:
gfsh> create region --name=region --type=REPLICATE


编写一个客户端:
import java.util.Map; import com.gemstone.gemfire.cache.Region; import com.gemstone.gemfire.cache.client.*; public class HelloWorld { public static void main(String[] args) throws Exception {
    ClientCache cache = new ClientCacheFactory()
      .addPoolLocator("localhost", 10334)
      .create();
    Region<String, String> region = cache
      .<String, String>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY)
      .create("region");

    region.put("1", "Hello");
    region.put("2", "World"); for (Map.Entry<String, String>  entry : region.entrySet()) {
      System.out.format("key = %s, value = %s\n", entry.getKey(), entry.getValue());
    }
    cache.close();
  }
} 


编译运行HelloWorld.java,应该将gemfire-core-dependencies.jar放入classpath:
javac -cp /some/path/geode/gemfire-assembly/build/install/geode/lib/gemfire-core-dependencies.jar HelloWorld.java
java -cp .:/some/path/geode/gemfire-assembly/build/install/geode/lib/gemfire-core-dependencies.jar HelloWorld


本文转载自:http://www.jdon.com/47253

共有 人打赏支持
引鸩怼孑
粉丝 41
博文 205
码字总数 16947
作品 0
南京
项目经理
12306铁路售票系统核心开源中间件Geode介绍

Geode是一个提供实时且高一致性的分布式数据管理平台,典型案例是中国铁路12306售票系统使用Geode管理10个集群节点,在内存中管理2T的热点数据和10个高可用弹性规模的后备节点。 Geode通过内...

引鸩怼孑
2015/04/30
0
0
Geode多站点(MultiSite)同步实验

Geode多站点(MultiSite)同步实验 准备阶段 准备4台服务器 T1=192.168.68.17 T2=192.168.68.18 T3=192.168.68.20 T4=192.168.68.21 Sender集群: Receiver集群: 在各个服务器上创建 目录 Send...

白石
04/16
0
0
数据管理平台 Apache Geode 1.6.0 发布,包含特性改进

Apache Geode 1.6.0 已发布,Apache Geode 是一个数据管理平台,提供实时的、一致的、贯穿整个云架构地访问数据关键型应用,具有高并发处理能力。 Apache Geode 1.6.0 包含许多错误修复和改进...

局长
05/05
0
0
Apache Geode 安全框架

source:http://geode.apache.org/docs/guide/10/managing/security/chapter_overview.html Apache Geode安全框架提供对分布式系统组件的连接和操作的授权机制。 安全介绍总览 加密,ssl 安全...

ghujki
2017/10/23
0
0
cmd中怎么查询geode的region的列名或者说是字段名

cmd中怎么查询geode的region的列名或者说是字段名

Joker-Face
09/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

你为什么在Redis里读到了本应过期的数据

一个事故的故事 晚上睡的正香突然被电话吵醒,对面是开发焦急的声音:我们的程序在访问redis的时候读到了本应过期的key导致整个业务逻辑出了问题,需要马上解决。 看到这里你可能会想:这是不...

IT--小哥
今天
2
0
祝大家节日快乐,阖家幸福! centos GnuTLS 漏洞

yum update -y gnutls 修复了GnuTLS 漏洞。更新到最新 gnutls.x86_64 0:2.12.23-22.el6 版本

yizhichao
昨天
5
0
Scrapy 1.5.0之选择器

构造选择器 Scrapy选择器是通过文本(Text)或 TextResponse 对象构造的 Selector 类的实例。 它根据输入类型自动选择最佳的解析规则(XML vs HTML): >>> from scrapy.selector import Sele...

Eappo_Geng
昨天
4
0
Windows下Git多账号配置,同一电脑多个ssh-key的管理

Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章《Git-TortoiseGit完整配置流程》的拓展,所以需要对上一篇文章有所了解,当然直接往下看也可以,其中也有...

morpheusWB
昨天
5
0
中秋快乐!!!

HiBlock
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部