搜狐首页 科技 宫主大人

手机搜狐

SOHU.COM

大数据管理平台Apache Geode 分布式系统内部结构剖析

文|杨旭钧

ApacheGeode于去年11月从Apache孵化器毕业成为顶级项目,是一个相当成熟、强健的的数据管理平台,提供实时的、一致的、贯穿整个云架构地访问数据关键型应用。Geode自身功能比较多,首先它是一个基于JVM的NoSQL分布式数据处理平台,同时集中间件、缓存、消息队列、事件处理引擎、NoSQL数据库于一身的分布式内存数据处理平台。可用来进行完成分布式缓存、数据持久化、分布式事物、动态扩展等功能。目前,有超过600家大中型企业级用户,使用了Apache Geode。他们主要是应用于必须满足低延迟和24×7高可靠要求的、高可扩展性的关键业务应用系统。

Apache Geode设计的核心理念是跨集群节点分布数据,完全复制数据到所选节点,或者跨所选节点的分区数据。当数据条目在内存中更新时,这个更新同步到一个或者多个内存池中的节点。Apache Geode允许数据被查询,参与到事务中,共享引用进程空间,同步到外部数据源(同步或者异步方式)。经验告诉我们,大多数的OLTP应用的数据集都足够小而且分散在各个OLTP服务器上,这样Apache Geode把关注点从磁盘I/O的优化转向到分布式内存的优化。这种通过优化内部数据结构的存储方式,把内存作为一种资源,达到了可高并发访问数据的目的。

为了有效地定位跨应用的持续性数据变化,和优化资源利用率。Jaguar在集群中动态地扩展和收缩。在分布式进程之间,或者跨地域的集群之间,通过有效的复制技术来保障数据一致性和可靠性。Apache Geode更是提供了跨网络地,及时地Delta更新传播技术,通过使用内存访问来替代磁盘I/O访问,在高可靠的和日益增长的带宽下,以池化的形式处理数据。这种好处显而易见,性能大大提升,比传统的数据库或者高可靠的磁盘复制存储效能更高。

在Apache Geode中,成员之间以点对点的网络形式互相连接形成分布式系统。Apache Geode支持动态成员关系,集群中的成员能够随时加入和离开分布式系统而不影响其他成员正常运行。这种动态化成员关系的能力是非常重要的,在较高的SLA要求下,允许有状态的应用内置在分布式系统中而不影响高性能和高可靠性。成员关系的改变不引入锁和资源争抢。成员之间能够通过多播或者基于TCP/IP的位置发现服务互相发现,如果网络没有启用多播,系统将自动选举组成员协调者-一个成员负责授权其他成员加入到分布式系统中和把成员关系改变通告给系统中的所有成员。

精选