Apache Geode —— 数据管理平台
lkkb8982
8年前
<h2>概览</h2> <p>Apache Geode (incubating) 是一个数据管理平台,提供实时的、一致的、贯穿整个云架构地访问数据关键型应用.</p> <p>Geode 池化了服务器上的内存, CPU, 网络资源, 和本地磁盘,跨多个进程来管理应用对象和应用行为. 它使用了动态数据复制和分区技术来实现高可用, 高性能, 高可扩展性, 和容错. 另外, 对于一个分布式数据容器, Apache Geode 是一个基于内存的数据管理系统, 提供了可靠的异步事件通知和可靠的消息投递.</p> <p>Apache Geode 是一个相当成熟, 强健的技术, 最初由GemStone Systems 公司开发(位于美国俄勒冈州的比弗顿市). 商标为 GemFire™, 此项技术初期被广泛应用在金融领域, 用于华尔街交易平台,作为事务性, 低延时的数据引擎. 那么今天Apache Geode 有超过600家大中型企业级用户, 主要是必须满足低延时和24x7 高可靠要求的,高可扩展的关键业务应用系统.</p> <p>此工程目前在ASF下正处于孵化阶段, 通过孵化器来提供赞助. 孵化对于所有新加入的工程很重要,直到基础设施, 通信, 决策流程足够稳定,和其他成功的 ASF工程一致. 当孵化器状态完成或代码稳定时, 它提示此工程完全由 ASF 承认.</p> <h2>主要概念和模块</h2> <p><em>缓存 </em> 是一个抽象的概念, 在一个 Geode 分布式系统中用于描述一个节点.</p> <p>在每个缓存中, 你定义数据 <em>regions</em> . 数据 regions 类似于传统关系型数据库中的'表'的概念, 以分布式的方式来管理数据 , 表现为名/值对儿形式. 在分布式系统的每个缓存成员中, 一个 <em> 复制 </em> region 保存数据的拷贝. 一个 <em>分区</em> region 跨缓存成员来同步数据. 在系统配置后, 客户端应用能够访问regions 中的分布式数据, 而不需要知道系统整体架构的知识. 你能够定义监听器来接收通知, 当数据发生变化时, 同时你也能够定义超时标准来删除在一个 region 中的废弃掉的数据.</p> <p><em>Locators</em> 提供了发现和负载均衡服务. 你配置带有 locator 服务列表的客户端, 同时 locators 维护一个成员服务器的动态列表. 默认情况下, Geode 客户端和服务器使用端口 40404 和多播来互相发现.</p> <p>Geode 包含了如下的特性:</p> <ul> <li> <p>结合冗余, 复制, 和 "shared nothing" 的一致性架构来交付 '自动防故障' 的可靠性和高性能.</p> </li> <li> <p>水平扩展到数千个缓存成员, 具有多种缓存拓扑结构来满足不同的企业级部署需求. 缓存能够跨多台机器进行分布.</p> </li> <li> <p>异步和同步缓存更新传播.</p> </li> <li> <p>Delta 传播只分发新版本和旧版本的变化量 (delta) , 而不是整个对象, 从而可以节省大量的网络开销.</p> </li> <li> <p>通过经过优化的, 低延时的通信层进行可靠的异步事件通知, 高保障的消息投递.</p> </li> <li> <p>在没有额外硬件的辅助下, 应用可以加速4 到 40,000 倍.</p> </li> <li> <p>数据感知和实时BI. 当你查询时, 如果数据变化了, 你能够立刻在系统中看见数据的变化.</p> </li> <li> <p>集成 Spring 框架来加速和简化高可扩展、高并发和事务型企业级应用的开发复杂度.</p> </li> <li> <p>JTA 兼容的事务支持.</p> </li> <li> <p>集群的配置可以写到文件中和导出到其他集群中.</p> </li> <li> <p>通过HTTP做 远程集群管理.</p> </li> <li> <p>基于REST应用开发的REST APIs.</p> </li> <li> <p>滚动升级是可行的, 但是需要服从新特性的限制问题.</p> </li> </ul> <p> </p> <p><a href="/misc/goto?guid=4959675427416052040">阅读原文</a></p> <p> </p>