来自 GridGain 的 Dani Traphagen 在 OSCON 2017 大会上谈了 Apache Ignite 平台。她谈到将磁盘视为瓶颈 & 内存成本日益降低所带来的模式转换。她谈到如何针对缓存进行优化,以及借助开源项目 Apache Ignite 将其用于微服务架构。
Apache Ignite 是一个分布式内存缓存和查询引擎,构建它是为了实时操作数据集。它还可以同其他系统集成,如关系型数据库、类似 Cassandra 这样的 NoSQL 数据库、Spark 和 Hadoop。该平台包含多种组件,如:
- 数据网格是该平台的基础。这是一个分布式键值数据存储,可以缓存分布式集群中的内存数据。它提供了两种数据缓存:分区缓存(包括主节点和备份节点)和副本缓存(数据在整个集群中复制)。数据网格还提供了一致性、数据本地化和形态(每个客户端可以决定它属于哪个节点)。
- SQL 网格是 Ignite 的内存 SQL 组件,兼容 ANSI-99,支持 SQL 和 DML 指令以及分布式 SQL 关联、索引和 ACID 事务。
- 计算网格可以用于分布式计算、机器学习、风险分析、使用类似 MapReduce 和 Fork/Join 这样的模式进行网格计算。
- 服务网格是基于微服务的架构的基础,提供了可扩展的中间件,可以用于部署用户定义的微服务,而且可以管理服务的生命周期,启动、维护及杀死服务。在这个架构模型中,服务节点连接到数据节点,而后者又连接到类似关系型数据库、Cassandra 和 Hadoop 这样的持久化数据存储。
服务网格包含四个主要的方面,分别是数据节点、服务节点、通信及内部 & 外部应用、持久化。它还提供了负载均衡(粘结 vs. 非粘结)和容错功能。部署是通过“节点筛选器(Node Filter)”完成的,这是一个让你可以指定服务运行节点的类。
数据节点是以分布式方式存储数据& 接受查询(和/ 或计算)的服务器节点。服务节点是可以用作服务部署目标的服务器或客户端节点。根据选择的持久化存储不同,持久化存储可以是“通读(read-thru)”、“通写(write-thru)”和事务性的。
如果你想要开始使用Apache Ignite 平台,请访问 GridGain Web Console 网站,上面还提供了一个演示程序项目。
查看英文原文: Dani Traphagen on Next Phase of Distributed Systems with Apache Ignite
评论