Apache Ignite 特性

Apache Ignite是一款开源的数据网格平台,支持Java7及Java8版本,具备强大的集群性和持久性特点。不仅可以作为RDBMS和NoSQL数据库的缓存入口,还能提供分布式计算服务。Ignite支持多种语言包括.NET、C++和PHP,其节点分为Servernodes和Clientnodes,前者负责存储数据和执行计算任务,后者用于连接Servernodes并存储部分数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 TerminologyApache Ignite
Database InstanceApache Ignite server
TableCache
RowIDKey
RowKew-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。这种情况适用于数据节点里存在大量事务时,也即是上一节最后讨论的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值