MicroStream + Helidon高效能Java持久層
MicroStream是行業中真正的遊戲規則改變者。如果你想建立真正高效能的微服務,在真正高壓的環境中工作,那麼Helidon + MicroStream是一個非常好的選擇!它不僅易於設定和使用,而且現在已完全整合。
MicroStream 取代了重量級的 JPA,並允許您儲存和部分載入任何 Java 物件圖或子圖。它還提供微秒響應時間和超高吞吐量以及最小延遲。現在,您可以將 MicroStream 與 Helidon 2.4 結合使用來建立超快速的記憶體中資料庫應用程式和微服務。
MicroStream提供高效能的 Java 原生物件圖永續性。
MicroStream 徹底改造了 Java 的序列化機制,提供了將部分載入的物件直接儲存到磁碟、資料庫或雲物件儲存的能力。只需選擇正確的商店經理。
Helidon現在已經完全整合了這項技術。
MicroStream + Helidon MP
MicroStream 現在與 Helidon 完全整合,這意味著 MicroStream 元件可以直接從 Helidon 配置讀取其所有配置。
有一組特殊的註釋可以注入儲存管理器:
首先,新增 Maven 依賴項:
<dependency> <groupId>io.helidon.integrations.microstream</groupId> <artifactId>helidon-integrations-microstream-cdi</artifactId> </dependency> |
然後你可以使用 MicroStream 支援:
@Inject public GreetingProvider(@MicrostreamStorage(configNode = "one.microstream.storage.greetings") EmbeddedStorageManager storage) { super(); this.storage = storage; greetingMessages = (List<String>) storage.root(); if (greetingMessages == null) { greetingMessages = new ArrayList<>(); storage.setRoot(greetingMessages); storage.storeRoot(); addGreeting("Hello"); } } |
它從microprofile-config.properties檔案中讀取配置。
one.microstream.storage.greetings.storage-directory=./greetingsStorage |
你可以用這個例子自己試試:案例原始碼
MicroStream 快取
MicroStream 提供了自己的 JSR107 實現——快取支援。
新增此 Maven 依賴項時可用:
<dependency> <groupId>io.helidon.integrations.microstream</groupId> <artifactId>helidon-integrations-microstream-cdi</artifactId> </dependency> |
然後我們可以修改我們的 Greetings 應用程式來為我們的問候使用快取:
Cache<String, String> greetingsCache; @Inject public GreetingsProvider(@MicrostreamCache(configNode= "one.microstream.cache", name = "greetingsCache") Cache<String, String> cache) { super(); this.greetingsCache = cache; } public String get(String key) { return greetingsCache.get(key); } public void add(String key, String responseObject) { greetingsCache.put(key, responseObject); } |
有一個特殊的@MicrostreamCache註釋將從microprofile-config.properties讀取所有快取配置:
Microstream cache config one.microstream.cache.storage.storage-directory = ./greetingsCache one.microstream.cache.keyType = java.lang.String one.microstream.cache.valueType = java.lang.String one.microstream.cache.readThrough = true one.microstream.cache.writeThrough = true |
相關文章
- Java資料持久層Java
- Java 持久層框架之 MyBatisJava框架MyBatis
- Java持久層框架Mybatis入門Java框架MyBatis
- Spring 持久層整合Spring
- 在Java SE下測試CDI Bean和持久層 - relationJavaBean
- Oracle推出用於微服務的Java庫: HelidonOracle微服務Java
- 河青的持久層框架hqbatis框架BAT
- AutoCRUD - PHP 下的透明持久層PHP
- MyBatis--優秀的持久層框架MyBatis框架
- 持久層Mybatis3底層原始碼分析,原理解析MyBatisS3原始碼
- Oracle釋出開源的輕量級 Java 微服務框架 HelidonOracleJava微服務框架
- 甲骨文推出的 Java 微服務框架 Helidon:輕量簡單Java微服務框架
- 自己動手寫一個持久層框架框架
- Spring 高階特性------資料持久層Spring
- 使用db-scheduler實現高效能持久佇列佇列
- 使用 Java 持久化 APIJava持久化API
- Java emoji持久化mysqlJava持久化MySql
- RxCache 整合 Android 的持久層框架 greenDAO、RoomAndroid框架OOM
- 使用Spring 3.1和Hibernate做持久層Spring
- iOS的高效能、高實時性key-value持久化元件iOS持久化元件
- RocketMQ高效能之底層儲存設計MQ
- J2EE持久層持久化上下文的傳播以及會話(Conversation)實現持久化會話
- 用一個專案把控制層、業務層、持久層說明白了,每一句話都講的很清楚
- Binder Java層分析Java
- JAVA中Action層, Service層 ,model層 和 Dao層的功能區分Java
- 關於表現層、業務層、持久層及他們所包含的物件之間的關係的理解,高手指點物件
- Java學習筆記:Redis的持久化Java筆記Redis持久化
- rocket mq 底層儲存原始碼分析(2)-業務訊息持久化MQ原始碼持久化
- 請教物件導向的話,持久層設計有多大區別?物件
- 使用Spring Data JPA實現持久化層的簡化開發Spring持久化
- Java 底層機制Java
- Java的內層類和外層類(轉)Java
- 高效能的Redis之物件底層實現原理詳解Redis物件
- 閉關修煉180天--手寫持久層框架(mybatis簡易版)框架MyBatis
- 編寫高效能的Java程式碼Java
- 14個高效能Java永續性技巧Java
- java高效能反射及效能對比Java反射
- 實現Java集合迭代的高效能Java