5

分布式内存计算存储中间件ignite技术01

 3 years ago
source link: https://blog.shareworld.vip/archives/ignite01
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

分布式内存计算存储中间件ignite技术01

Owen Jia 2021年01月22日 48次浏览

分布式内存计算平台:apache ignite

ignite技术

ignite是一款具有内存计算速度的分布式存储服务中间件,PB级处理能力。

它是apache一级开源项目,目前star有3.6k+,fork有1.6k+,最新稳定版2.9.1,测试版3.0.0,一个成熟的商业开业中间件产品,具有颠覆性。

ignite有几个显著的特性

  • 分布式存储数据库
  • 内存级性能计算服务
  • 横向扩展可至上千个节点,PB级能力
  • 多种持久化能力,自身外支持DBMS,MQ类数据库
  • 分布式事务ACID支持
  • 支持K-V和SQL两种数据结构
  • 源代码开源
  • 支持jar方式定制化集成,也支持ZIP方式独立部署
  • 支持java、c++、node、php、python、c#
  • 机器学习、数据流、服务网格

官方文档非常完整细致,可以帮助快速落地,样例代码丰富,差不多3周左右时间可以说对于使用上已经没啥问题了,但是进阶掌握需要不少时间。

我这边的场景是用java将ignite技术以jar方式集成到服务内,整个应用作为数据平台,完全定制化ignite,未来随着发展再逐步横向扩展延伸。

小的场景作为缓存使用,大的场景作为计算数据平台

ignite技术目前来看非常适合几个地方:

1、比如常规的mysql和redis组合的业务场景,直接用ignite替代,剩下数据同步、失效、穿透等等各种问题;ignite既支持sql也支持kv方式数据存储,同时支持常规的sql语句查询结构。

2、分布式存储和并行计算平台,也有点数据中心概念,ignite将这些特性集中为一体,机器学习这种PB数据常规做法根本搞不定。

3、分布式事务,这个多少人头疼了多少年。

ignite集群基本是自动的,心跳、数据再平衡、同步等;同时它支持rest api进行集群的状态获取和管理,如node上线下、cache删除新增;拥有各种状态event提供给开发中做钩子。

同时还提供几个封装好的工具,可以拿来直接使用。

  • control.sh 控制管理集群节点,生成快照、查看数据等
  • visor.sh 监控集群状态
  • control center WebUI的监控工具

不久的将来有可能成为行业标配,apache基金会投入很高,目前在高速迭代推进ignite技术生态。

官网:https://ignite.apache.org
代码库:https://github.com/apache/ignite
样例代码库:https://github.com/apache/ignite/tree/master/examples


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK