Apache Ignite 特性,apacheignite特性


1. Apache Ignite 的核心技术

  • 开源
  • 仅用Java写出
  • 支持Java7,Java8(Java9目前测试不支持)
  • 基于Spring
  • 支持 .Net, C++ 和 PHP

2. Apache Ignite主要能力

  • 集群性:Ignite的集群可以通过增加新的节点来横向扩展
  • 持久性:Ignite数据网格可以作为RDBMS、NoSQL(MongoDB,Cassandra)的缓存入口
  • 缓存作为服务(CaaS)
  • 二级缓存:Ignite可以作为Hibernate和MyBatis的缓存层
  • 分布式计算:Ignite提供了一些简单的API可以让用户在一个集群中的多个节点内进行分布式计算和数据处理。它的分布式服务非常适用于开发微服务类似的架构。
  • 等等等

3.术语对比

Oracle Terminology Apache Ignite
Database Instance Apache Ignite server
Table Cache
RowID Key
Row Kew-value

4. 集群拓扑结构

Ignite 中的节点都是等价的,并没有特殊的节点。但是 Ignite 提供了两种可供选择的节点类型:Server nodes、Client nodes

1. Server node

一个 Server node 可以存储数据,参与缓存,计算,流处理,也能参与部分 Map-Reduce 内存任务。

默认配置下,所有的节点都以Server node启动。

2. Client node

一个Client node 拥有远程连接 Server nodes 的能力,并可以在 Cache 里存取数据。它也可以存储部分数据(near cache)——即一个小缓存,能存储近期最常用的数据。
Client node 必须手动的配置启动。

默认情况下,Server node总是会存储数据并参与计算任务,Client node则可以操控Server caches,存储本地数据,参与计算任务。

它们两者都在在一个网格内。在某些特殊情况(如数据节点中存在大量 ACID 事务),可以人为建立集群,把server nodes 和 client nodes分隔开,让server node只存储数据,client node只进行计算,这种方式可以在一个网格拓扑结构中把数据节点和计算节点分开。这种方式的缺陷是:所有的client nodes总是会从其他node中请求数据,这样会增加网络延迟。

3. Ignite 节点启动

  • Embeded with the application:Ignite节点与应用程序运行在同一个JVM上
  • Server in separate JVM(真实集群拓扑结构):各个server node 会分别运行在自己的JVM上。这也是最常用节点启用方式。
  • Client and Server in separate JVM on single host: 在一个主机上,分别在不同的JVM上运行Client 和 Server nodes。这种情况适用于数据节点里存在大量事务时,也即是上一节最后讨论的内容。

相关内容

    暂无相关文章