分佈式內存計算存儲中間件ignite技術01

分佈式內存計算平臺: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

作者:Owen Jia

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章