久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Apache Ignite有哪些特性

161次閱讀
沒有評論

共計 10826 個字符,預計需要花費 28 分鐘才能閱讀完成。

這篇文章主要講解了“Apache Ignite 有哪些特性”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Apache Ignite 有哪些特性”吧!

1. 事務和分析 1.1. 數據網格

Ignite 內存數據網格是一個內存內的鍵值存儲,他可以在分布式集群的內存內緩存數據。它通過強語義的數據位置和關系數據路由,來降低冗余數據的噪聲,使其可以節點數的線性增長,直至幾百個節點。Ignite 數據網格速度足夠快,經過官方不斷的測試,目前,他是分布式集群中支持事務性或原子性數據的最快的實現之一。

特性一覽

1.1.1. 鍵值存儲

Ignite 數據網格是一個內存內的鍵值存儲,可以視為分布式的分區化的哈希,集群中每個節點都持有所有數據的一部分,這意味著集群內節點越多,就可以緩存越多的數據。和其他鍵值存儲不同,Ignite 通過可插拔的哈選算法來決定數據的位置,每個客戶端都可以通過插入一個自定義的哈希函數來決定一個鍵屬于那個節點,并不需要任何特殊的映射服務或者命名節點。

1.1.2.JCache(JSR107)

Ignite 100% 兼容于 JCache(JSR107)規范,JCache 為數據緩存提供了非常簡單,但是功能又非常強大的 API。JCache 的一部分 API 包括:

基本緩存操作

ConcurrentMap APIs

并置處理(EntryProcessor)

事件和度量

可插拔的持久化?

1.1.3. 分區和復制

根據配置,Ignite 可以對內存內的數據進行分區或者復制,和 REPLICATED 模式不同,數據是在集群內的所有節點中全復制的,在 PARTITIONED 模式中,數據是在集群內的多個節點中平均拆分的,允許在內存內緩存 TB 級的數據。Ignite 也可以配置成具有多個副本,來保證故障時的數據彈性。

1.1.4. 并置處理

Ignite 可以在接近數據的服務端,以并置的方式執行執行任何原生的 Java、C++ 和.Net/C# 代碼。

1.1.5. 自修復集群

Ignite 集群可以自我修復,故障時客戶端會自動重連,慢客戶端會被自動踢出,故障節點的數據也會被自動傳播到網格內的其他節點。

1.1.6. 客戶端近緩存

近緩存是本地客戶端側的緩存,他會存儲最近和最頻繁訪問的數據。

1.1.7. 堆內和堆外內存

Ignite 在內存中支持 2 種模式的數據緩存,堆內和堆外。當緩存數據占用很大的堆,超過了 Java 主堆空間時,堆外存儲可以克服 JVM 垃圾回收 (gc) 導致的長時間暫停,但數據仍然在內存內。

1.1.8. 堆外索引

當配置為堆外存儲時,Ignite 同時也會在堆外存儲查詢索引,這意味著索引不會占用任何堆內內存的空間。

1.1.9. 分層存儲

如果數據變冷(不被訪問),Ignite 會有選擇地將其從堆內移動到堆外,然后再從堆外移動到交換存儲(磁盤)。當某些數據又被訪問時,他會立即被傳播到頂層,并且將其他的冷數據降到低一級的存儲層。

1.1.10. 二進制協議

從 1.5 版本開始,Ignite 引入了一個新的存儲緩存數據的概念,叫做二進制對象,他可以:

讀取一個序列化的對象的屬性而不需要將整個對象反序列化;

動態改變一個對象的結構;

動態創建一個對象的結構。

1.1.11.ACID 事務

Ignite 提供了一個完全符合 ACID 的分布式事務來保證一致性。Ignite 支持樂觀和悲觀的并發模型以及讀提交、可復制讀和序列化的隔離級別。Ignite 的事務使用了二階段提交協議,適當地也進行了很多一階段提交的優化。

1.1.12. 無死鎖事務

Ignite 支持無死鎖的樂觀事務,他不獲得任何鎖,用戶也不用擔心鎖的順序,這樣的事務也提供了更好的性能。

1.1.13. 事務化 EntryProcessor

Ignite 的事務化 EntryProcessor 可以在服務端以一個事務來執行并置化的邏輯。

1.1.14. 跨分區事務

Ignite 可以在整個集群中,在一個緩存的所有分區中執行事務。

1.1.15. 鎖

Ignite 允許開發人員定義明確的鎖來強制緩存對象的互斥。

1.1.16.SQL 查詢

Ignite 支持使用標準的 SQL 語法(ANSI 99)來查詢緩存,可以使用任何的 SQL 函數,包括聚合和分組。

1.1.17. 分布式關聯

Ignite 支持分布式的 SQL 關聯和跨緩存的關聯。

1.1.18. 持續查詢

持續查詢對于當執行一個查詢后又想持續的獲得之前的查詢結果的數據更新通知時,是非常有用的。

1.1.19. 查詢索引

對于 SQL 查詢,Ignite 支持內存內的索引,因此所有的數據檢索都是非常快的。

1.1.20. 查詢一致性

Ignite 支持完整的查詢一致性,查詢開始執行后的更新不會影響查詢的結果。

1.1.21. 查詢容錯

Ignite 的查詢是容錯的,即查詢結果總是一致的并且不會受到集群拓撲改變的影響。

1.1.22.JDBC 驅動

Ignite 提供 JDBC 驅動,可以使用標準 SQL 查詢和 JDBC API 獲得緩存內的分布式數據。

1.1.23.ODBC 驅動

Ignite 的 ODBC 驅動可以使用標準的 SQL 查詢和 ODBC API 來從緩存中獲得數據。

1.1.24. 通寫

通寫模式允許更新數據庫中的數據。

1.1.25. 通讀

通讀模式允許從數據庫中讀取數據。

1.1.26. 后寫緩存

Ignite 提供了一個選項,通過后寫緩存來異步地執行數據庫更新。

1.1.27. 自動持久化

自動化地連接底層數據庫并且生成 XML 的對象關系映射配置和 Java 領域模型 POJO。

1.1.28. 數據庫集成

Ignite 可以自動地與外部數據庫集成,包括 RDBMS、NoSQL 和 HDFS。

1.1.29.Web Session 集群化

Ignite 數據網格能夠緩存任何支持 Java Servlet3.0 規范的的應用服務器的 Web Session,包括 Apache Tomcat,Eclipse Jetty,Oracle WebLogic 以及其他。當運行應用服務器集群時緩存 Web Session 對于提高 Servlet 容器的性能以及可擴展性是非常有用的。

1.1.30.Hibernate 二級緩存

Ignite 可以作為 Hibernate 的二級緩存(或者 L2Cache),他可以顯著的提高應用中持久化層的速度。

1.1.31.Spring 緩存

Ignite 支持基于 Spring 注解方式的 Java 方法緩存以使一個方法的執行結果可以緩存在 Ignite 緩存中。以后如果同一個方法通過同樣的參數集進行調用,結果會直接從緩存中獲取而不是實際執行這個方法。

1.1.32.C#/.NET

Ignite.NET 構建于 Ignite 之上,他可以執行幾乎所有的內存數據網格操作,包括 ACID 事務、SQL 查詢、分布式關聯、消息和事件等。

1.1.33.C++

Ignite.C++ 構建于 Ignite 之上,他可以執行幾乎所有的內存數據網格操作,包括 SQL 查詢、分布式關聯等。

1.1.34.XA/JTA

Ignite 可以配置為一個 Java 事務 API(JTA)事務管理器搜索類。

1.1.35.OSGi 支持

Ignite 提供了對 OSGi 的支持。

1.2. 計算網格

分布式計算是通過并行處理的方式來獲得更高的性能,更低的延遲以及線性可擴展性,Ignite 計算網格提供了一組簡單的 API 來允許用戶在集群內的多臺計算機中執行分布式計算和數據處理。分布式并行計算是基于在集群內的節點中進行任何的計算然后將結果返回的能力。

特性一覽

1.2.1. 分布式閉包執行

Ignite 計算網格可以對集群內的任何閉包進行廣播和負載平衡,包括 Java8 lambda,還包括純 Java Runnables 和 Callables。

1.2.2.ForkJoin 處理

ComputeTask 是 Ignite 對內存內 ForkJoin 范式的抽象,也是 MapReduce 的一個輕量級形式。純 MapReduce 并不是為了性能而構建,只是適用于進行離線數據的批量處理(比如 Hadoop MapReduce)。然而,對駐留在內存的數據進行計算時,實時性,低延遲和高吞吐量通常具有很高的優先級,同時,簡化 API 也非常重要。基于這些考慮,Ignite 提供了 ComputeTask API, 這個就是 Ignite 的 ForkJoin 實現(輕量級 MapReduce)。

1.2.3. 集群化 ExecutorService

Ignite 提供了一個標準 JDK 中 ExecutorService 的集群實現,他會自動地在集群內以負載平衡的模式執行所有的計算。計算也會容錯并且只要有一個節點就能保證執行,你可以把他視為集群化的分布式的線程池。

1.2.4. 計算和數據的并置

計算和數據的并置可以使網絡中數據序列化最小化,并且可以顯著的提高應用的性能和可擴展性。不管何時,都要盡量做好集群節點中緩存的待處理數據和計算的并置。Ignite 根據需要,可以提供多種方式自動或者手動地進行計算和數據的并置。

1.2.5. 容錯

Ignite 支持自動作業故障切換。如果一個節點崩潰或其他錯誤,作業會自動轉移到其他可用節點重新執行。可插拔的 FailoverSpi 負責進行執行一個故障任務時新節點的選擇。至少一次保證:Ignite 保證只要有一個節點存在,任務就不會丟失。

1.2.6. 負載均衡

負載平衡組件負責平衡集群內各節點的分布式任務。Ignite 中負載平衡是通過可插拔的 LoadBalancingSpi 實現的,它控制集群內所有節點的負載并且確保集群內的每個節點的均衡負載。對于同質化環境中的同質化任務,負載平衡是通過隨機或者循環的策略實現的。然而,在很多其他的場景中,特別是在負荷不均衡時,他提供了很多的更復雜的自適應的負載平衡策略。

1.2.7. 作業檢查點

檢查點是通過可插拔的 CheckpointSpi 實現的,他提供了一個保存作業中間狀態的功能,檢查點對于長期執行的任務需要保存一些中間狀態以防止節點故障是非常有用的。當一個故障節點重啟時,一個作業可以載入一個保存的檢查點然后從故障處繼續執行。

1.2.8. 作業調度

可插拔的 CollisionSpi 對于待執行的作業到達某個節點時如何進行調度提供了細粒度的控制。他提供了很多的策略,包括:FIFO,優先級甚至磨洋工。

1.3. 流式計算和 CEP

Ignite 流式計算允許以可擴展和容錯的方式處理連續不中斷的數據流。在一個中等規模的集群中,數據注入 Ignite 的比例會很高,很容易達到每秒百萬級的規模。工作方式:

客戶端將流式數據注入 Ignite;

數據在 Ignite 數據節點中自動分區;

數據在滑動窗口中并發處理;

客戶端在流式數據中執行并發 SQL 查詢;

客戶端訂閱數據變化的持續查詢。

特性一覽

1.3.1. 數據流處理器

數據流處理器是由 IgniteDataStreamer API 定義的,他是為了將大量的持續數據流注入 Ignite 流緩存而構建的。數據流處理器以可擴展和容錯的方式,為所有數據流注入 ignite 提供了至少一次保證。

1.3.2. 并置處理

當需要執行自定義的業務邏輯而不僅僅是添加新數據時,就需要利用 StreamRecerver API 的優勢了。流接收器允許直接在緩存數據的節點上以并置的方式處理數據流,在數據進入緩存之前可以修改數據或者添加任何自定義預處理邏輯.

1.3.3. 滑動窗口

Ignite 流功能也允許在數據滑動窗口內進行查詢。滑動窗口被配置為 Ignite 的緩存退出策略,可以基于時間、基于大小或者基于批量處理,可以配置一個緩存一個數據窗口,然而,如果需要同一個數據具有不同的滑動窗口,也可以非常容易的為同一個數據定義不止一個緩存。

1.3.4. 滑動窗口查詢

可以使用所有的 Ignite 數據索引功能,再加上 Ignite SQL、TEXT,以及基于謂詞的緩存查詢,在數據流中進行查詢。

1.3.5. 持續查詢

持續查詢對于當執行一個查詢后又想持續的獲得之前的查詢結果的數據更新通知時,是非常有用的。

1.3.6.JMS 數據流處理器

Ignite 的 JMS 數據流處理器可以從 JMS 代理中消費消息然后將他們插入 Ignite 緩存。

1.3.7.Apache Flume Sink

IgniteSink 是一個 Flume 池,他會從一個相關的 Flume 通道中提取事件然后將其注入 Ignite 緩存。

1.3.8.MQTT 流處理器

Ignite 的 MQTT 流處理器從一個 MQTT 主題中消費消息,然后向 Ignite 緩存提供一個轉換后的鍵值對。

1.3.9.Twitter 流處理器

Ignite 的 Twitter 流處理器從一個 Twitter 流 API 中消費消息,然后將他們注入 Ignite 緩存。

1.3.10.Apache Kafka 流處理器

Ignite 的 Kafka 數據流處理器從一個 Kafka 代理中的給定 Kafka 主題中消費消息,然后將他們插入 Ignite 緩存。

1.3.11.Apache Camel 流處理器

Ignite 的 Camel 流處理器從一個 Apache Camel 消費者端點消費消息,然后將他們注入 Ignite 緩存。

1.3.12.Apache Storm 流處理器

Ignite 的 Storm 流處理器從一個 Apache Storm 消費者端點消費消息,然后將他們注入 Ignite 緩存。

1.4. 分布式數據結構

Ignite 以分布式的形式支持基于 java.util.concurrent 框架的大部分數據結構。比如,可以在一個節點上使用 java.util.concurrent.BlockingQeque 加入一些東西,然后再另一個節點上獲取它。或者有一個分布式的 ID 生成器,他可以保證所有節點上的 ID 唯一性。

支持的數據結構包括:

Concurrent Map (Cache)

分布式隊列和集合

AtomicLong

AtomicReference

AtomicSequence (ID 生成器)

CountDownLatch

ExecutorService

特性一覽

1.4.1. 隊列和集合

Ignite 提供了一個快速的分布式阻塞隊列和分布式集合的實現。

1.4.2. 并置和非并置

隊列和集合可以以并置或者非并置的方式進行部署。在并置模式中,集合中的所有元素都會駐留在同一個集群節點上。這種模式下,應該使用相對較小的集合。在非并置模式下,集合的元素會均等地分布在集群內,這就允許在內存內保存很大的集合。

1.4.3. 有界隊列

有界隊列允許用戶持有一個有預定義最大容量的隊列,這將有助于控制整個緩存的容量。

1.4.4. 原子化類型

Ignite 支持分布式的 AtomicLong 和 AtomicReference。

1.4.5.CountDownLatch

Ignite 的 CountDownLatch 可以在所有的 Ignite 節點上同步作業。

1.4.6. 基于預留的 ID 生成器

ID 生成器是通過 AtomicSequence 實現的,當以原子序列執行 incrementAndGet()(或任何其他的原子性操作)時,數據結構會保存未來值的一個范圍,這會保證跨集群內該序列實例的唯一性。

1.4.7.Semaphore

Ignite 的分布式 semaphore 的實現和行為類似于 ** java.util.concurrent.Semaphore**。

1.5. 分布式消息和事件

Ignite 提供了集群范圍的高性能的消息功能,支持基于發布 - 訂閱以及直接點對點通信模型的數據交換。消息可以以有序的,也可以以無序的方式進行交換。有序消息會稍微有點慢,但是如果使用的話,Ignite 會保證收到消息的順序和發送消息的順序一致。當在分布式網格環境中發生各種事件時,Ignite 的分布式事件功能可以使應用收到通知。可以自動地收到集群內的本地和遠程節點上發生的任務執行、讀寫和查詢操作的通知,事件通知也可以分組在一起然后分批或者定期地發送。

特性一覽

1.5.1. 基于主題的消息

Ignite 的分布式消息可以使所有的節點基于主題進行集群范圍的通信。

1.5.2. 對對點的消息

Ignite 的消息可以發給一組節點或者一個單獨的節點。

1.5.3. 有序和無序

Ignite 支持有序的以及無序的消息,有序消息要稍微慢一點,但是如果你用的話,Ignite 保證收到消息的順序和發送消息的順序一致。

1.5.4. 事件通知

當集群內發生各種事件時,Ignite 的分布式事件功能可以使應用收到通知。

1.5.5. 本地和遠程事件

應用可以收到集群內的本地和遠程節點上有關任務執行、讀寫和查詢操作的通知。

1.5.6. 自動化批處理

事件通知可以分組在一起然后分批或者定期地進行發送。

1.6. 服務網格

服務網格可以在集群中任意部署自定義的服務,可以實現和部署任意服務,比如自定義計數器,ID 生成器,分級映射等。服務網格的主要應用場景是提供了在集群中部署各種單例服務的能力。但是,如果需要一個服務的多實例,Ignite 也能保證所有服務實例的正確部署和容錯。

特性一覽

1.6.1. 用戶定義服務

用戶可以定義自己的服務并且 Ignite 會自動在集群內進行服務的分布化。比如,你可以創建自己特定的分布式計數器,或者自定義的數據加載服務,或者任何其他邏輯,然后將其部署到集群中。

1.6.2. 集群單例

Ignite 允許將任意數量的服務部署到任意的網格節點,然而,最常用的特性是在集群中部署單例服務,不管是拓撲變更還是節點故障,Ignite 都會維護單一性。

1.6.3. 容錯

Ignite 會保證服務的持續有效,以及按照指定的配置進行部署,不管是拓撲變更還是節點故障。

1.6.4. 負載平衡

在所有的情況下,不只是單例服務部署,Ignite 都會自動地確保在集群內的每個節點上部署大致數量相等的服務。當集群拓撲發生變化時,Ignite 會對部署的服務進行重新評估,然后可能對已經部署的服務重新在其他節點上部署以保證更好的負載平衡。

1.7. 自動化 RDMS 集成

Ignite 支持與各種持久化存儲的集成,它可以連接數據庫,導入模式,配置索引類型,以及自動生成所有必要的 XML OR 映射配置和 Java 領域模型 POJO,這些都可以輕易地下載和復制進自己的工程。Ignite 可以與任何支持 JDBC 驅動的關系數據庫集成,包括 Oracle、PostgreSQL、MS SQL Server 和 MySQL。

1.7.1.RDBMS 集成向導

通過 IgniteWeb 控制臺,可以自動化的進行 RDBMS 集成,這是一個交互式的配置向導、管理和監控工具,它可以:

為 Ignite 集群創建和下載各種配置;

從任何 RDBMS 模式自動化地構建 Ignite 的 SQL 元數據;

在內存緩存中執行 SQL 查詢;

查看查詢的執行計劃、內存模式以及流化圖表。

Ignite Web 控制臺是一個創新工具,它提供了很多豐富的功能來管理 Ignite 集群,并不限于上述提到的功能。

2.Hadoop 和 Spark2.1.Spark 共享 RDD

Apache Ignite 提供了一個 Spark RDD 抽象的實現,他允許跨越多個 Spark 作業時方便地在內存內共享狀態,不管是在同一個應用內部還是在不同的 Spark 應用之間。IgniteRDD 作為 Ignite 分布式緩存的視圖,既可以在 Spark 作業執行進程中部署,也可以在 Spark workder 中部署,也可以在他自己的集群中部署。根據預配置的部署模型,狀態共享既可以只存在于一個 Spark 應用的生命周期的內部(嵌入式模式),或者也可以存在于 Spark 應用的外部(獨立模式),這種模式下狀態可以在多個 Spark 應用之間共享。

特性一覽

2.1.1. 共享 Spark RDD

IgniteRDD 是原生 Spark RDD 和 DataFrame API 的一個實現,除了所有的標準的 RDD 功能,還會跨越其他的 Spark 作業、應用和 worker 共享 RDD 的狀態。

2.1.2. 更快的 SQL

Spark 不支持 SQL 索引,但是 Ignite 可以,由于先進的內存索引功能,IgniteRDD 在執行 SQL 查詢時比 Spark 原生 RDD 或者 DataFrame 有百倍的性能提升。

2.2. 內存文件系統

Ignite 一個獨有的技術就是叫做 Ignite 文件系統(IGFS)的分布式內存文件系統,IGFS 提供了和 Hadoop HDFS 類似的功能,但是僅僅在內存內部。事實上,除了他自己的 API,IGFS 實現了 Hadoop 的文件系統 API,并且可以透明地加入 Hadoop 或者 Spark 應用。IGFS 將每個文件中的數據拆分為獨立的數據塊然后將他們存儲在分布式內存緩存中。然而和 Hadoop HDFS 不同,IGFS 不需要一個 name 節點,并且用一個哈希函數自動地確定文件數據位置。IGFS 可以獨立部署,也可以部署在 HDFS 之上,不管是哪種情況,他對于 HDFS 中存儲的文件都是一個透明的緩存層。Tachyon 替代 在 Spark 環境中 IGFS 可以透明地替代 Tachyon 文件系統,鑒于 IGFS 是基于久經考驗的 Ignite 數據網格技術,他會比 Tachyon 有更好的讀和寫性能,并且更穩定。Hadoop 文件系統 如果打算使用 IGFS 作為 Hadoop 文件系統,可以參考 Hadoop 集成文檔,這時 IGFS 和 HDFS 并沒有什么不同。

特性一覽

2.2.1. 堆內和堆外

IGFS 既可以在堆內,也可以在堆外存儲文件,對于更大的存儲空間占用關鍵是利用堆外來避免長時間的 JVM 垃圾回收導致的暫停。

2.2.2.IGFS 作為 Hadoop 文件系統

IGFS 實現了 Hadoop 的 FileSystem API,并且可以部署為原生的 Hadoop 文件系統,就像 HDFS 一樣,這樣就可以在 Hadoop 或者 Spark 環境中以即插即用的方式原生部署 IGFS。

2.2.3.Hadoop 文件系統緩存

IGFS 也可以在另一個 Hadoop 文件系統上部署為一個緩存層。這時 IGFS 中的一個文件如果發生變化,更新會被自動地寫入 HDFS。此外,如果讀取了一個文件并且當時他不在 IGFS 中,Ignite 會自動地將其從 HDFS 載入 IGFS。

2.2.4. 任意 Hadoop 發行版

IGFS 集成了一個原生的 Apache Hadoop 發行版,也支持 Cloudera CDH 以及 Hortonworks HDP。

2.3. 內存 MapReduce

Apache Ignite 帶來了一個 Hadoop MapReduce API 的內存實現,他比原生的 Hadoop MapReduce 實現有了顯著的性能提升。Ignite MapReduce 比 Hadoop 性能更好,是因為基于推的資源分配以及進程內的計算和數據的并置。另外,因為 IGFS 不需要一個 name 節點,當使用 IGFS 時,Ignite MapReduce 作業會在一個鏈路內直達 IGFS 數據節點。

特性一覽

2.3.1. 原生 Hadoop MapReduce

Ignite MapReduce 是 Hadoop MapReduce API 的一個實現,他可以原生地加入已有的 Hadoop 環境,并且性能有很大的提升。

2.3.2.Hadoop 加速器

Ignite 提供了一個 Hadoop 加速器發行版,包括 IGFS 以及 Ignite MapReduce,這個環境可以很容易地加入已有的 Hadoop 環境。

3. 無處不在地運行 3.1. 客戶端協議

對于客戶端連接 Ignite 集群,Ignite 提供了若干種協議,包括 Ignite 原生客戶端,REST/HTTP,SSL/TLS,Memcached,Node.js(正在開發中)等等。特性一覽

3.1.1.Ignite 原生客戶端

對于客戶端遠程連接 Ignite,原生客戶端提供了完整的功能,他允許使用完整的 Ignite API,包括近緩存,事務,計算,流式處理,服務等等。

3.1.2.Memcached

Ignite 兼容于 Memcached,他允許用戶使用任何 Memcached 兼容客戶端在 Ignite 緩存中保存以及獲取分布式數據,包括 Java、PHP、Python、Ruby 以及其他的 Memcached 客戶端。

3.1.3.REST/HTTP

Ignite 提供了一個 HTTP REST 客戶端,可以以 REST 的方式通過 HTTP 或者 HTTPS 協議進行通信。REST API 可以進行執行不同的操作,比如從 / 往緩存中讀 / 寫、執行任務、獲取各種指標等等。

3.1.4.SSL/TLS

Ignite 允許在所有的 Ignite 客戶端和服務端節點之間使用 SSL 進行 Socket 通信。

3.1.5.Node.js(開發中)

Ignite 未來會提供 Node.js 客戶端,他能進行所有的緩存操作以及在 Ignite 中存儲的 JSON 數據中執行 SQL 查詢。

3.2. 部署選項

Apache Ignite 可以獨立運行,在集群中運行,在 Docker 容器中運行,還可以運行在 Apache Mesos 以及 Hadoop Yarn 環境。他可以在物理機上運行,也可以在虛擬機上運行。公有云 對于公有云環境,Ignite 原生地繼承了 Amazon AWS、Google Compute Engine,對于其他的云環境,Ignite 集成了 Apache JCloud,他支持大多數的云供應商。容器 Ignite 可以容易地運行于容器環境,Ignite 集成了 Docker,在服務器啟動之前可以自動地構建并且將用戶代碼部署進 Ignite。資源管理 Ignite 原生地集成了 Hadoop Yarn 和 Apache Mesos,可以將 Ignite 輕易地無縫部署進 Hadoop 和 Spark 環境。

特性一覽

3.2.1. 零部署

Ignite 節點會自動地感知自定義類,而不需要顯式地部署他們。

3.2.2. 動態模式改變

Ignite 以二進制的方式存儲對象,而不需要在服務端節點上部署類。

3.2.3. 獨立集群

Ignite 節點之間會自動感知,這有助于必要時擴展集群,而不需要重啟整個集群,簡單地啟動新加入的節點然后他們就是自動地加入集群。

3.2.4.Docker 容器

Docker 可以將 Ignite 及其所有的依賴打包進一個標準的映像。Docker 自動下載 Ignite 版本映像之后,就可以將用戶的應用部署進 Ignite,配置節點,他會自動啟動整個配置好的 Ignite 節點。

3.2.5. 公共云

對于公有云環境,Ignite 原生地繼承了 Amazon AWS、Google Compute Engine,對于其他的云環境,Ignite 集成了 Apache JCloud,他支持大多數的云供應商。

3.2.6.Apache Mesos

Ignite 提供了 Apache Mesos 的原生支持,可以很容易地將 Ignite 部署進 Mesos 數據中心,比如 Hadoop 和 Spark 環境。

3.2.7.Hadoop Yarn

Ignite 提供了 Hadoop Yarn 的原生支持,可以很容易地將 Ignite 部署進 Hadoop 和 Spark 環境。

感謝各位的閱讀,以上就是“Apache Ignite 有哪些特性”的內容了,經過本文的學習后,相信大家對 Apache Ignite 有哪些特性這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計10826字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 吉水县| 丰顺县| 安乡县| 赤城县| 永泰县| 阳春市| 卢氏县| 德昌县| 临邑县| 罗源县| 都江堰市| 三门峡市| 玛沁县| 日照市| 伊金霍洛旗| 浠水县| 吴旗县| 温宿县| 竹山县| 晴隆县| 莱西市| 库车县| 丹东市| 新营市| 五莲县| 屯留县| 博兴县| 全南县| 靖西县| 田林县| 三明市| 鄂托克前旗| 新津县| 隆德县| 维西| 涞水县| 固安县| 禄劝| 惠水县| 海南省| 北海市|