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。这种情况适用于数据节点里存在大量事务时,也即是上一节最后讨论的内容。
Apache Ignite是一款开源的数据网格平台,支持Java7及Java8版本,具备强大的集群性和持久性特点。不仅可以作为RDBMS和NoSQL数据库的缓存入口,还能提供分布式计算服务。Ignite支持多种语言包括.NET、C++和PHP,其节点分为Servernodes和Clientnodes,前者负责存储数据和执行计算任务,后者用于连接Servernodes并存储部分数据。
253

被折叠的 条评论
为什么被折叠?



