領先一步
VMware 提供培訓和認證,以加速您的進展。
瞭解更多我對於相較於 Apache Geode 的 M3 發佈公告,Spring 和 Apache Geode 社群的延遲致歉,但我非常興奮和高興地跟隨發佈 Apache Geode 1.0.0-incubating.M3 的 Spring Data。
您可以從 Maven Central 取得相關檔案,方法是在您的應用程式 Maven 或 Gradle 建置檔案中包含以下相依性...
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-geode</artifactId>
<version>1.0.0.APACHE-GEODE-INCUBATING-M3</version>
</dependency>
compile 'org.springframework.data:spring-data-geode:1.0.0.APACHE-GEODE-INCUBATING-M3'
包含 spring-data-geode
相依性會以遞移方式引入所有必要的 Apache Geode 成品,以便您可以立即開始建置使用 Apache Geode 的 Spring 應用程式。
雖然 Apache Geode M2 和 M3 之間的功能變更不多(主要是 錯誤修正),但在 Spring Data Geode 中有很多 變更。一個關鍵功能高於其他所有功能。
由於 Apache Geode(以及延伸的 Pivotal GemFire)的重點始終是提供足夠的功能廣度和靈活性,以解決各種 複雜的客戶需求和使用案例(點擊「使用案例」),這使得使用者難以盡快且盡可能輕鬆地啟動並執行。而且,雖然它具有更強的一致性保證,而且通常具有更好的效能,但在使用替代的、可比較的解決方案時,很難與開箱即用體驗競爭。
為了更深入地了解問題以及我們如何專注於為 Apache Geode 和 Pivotal GemFire 解決問題,請查看我在八月的 Apache Geode Clubhouse Meeting 中的演講。
問題的根源在於 Apache Geode 缺乏主觀且一致的程式設計/組態模型,特別是對於應用程式開發。因此,實際上,我們只需要看看 Spring Framework。但是,這仍然留下「意見」。
再一次,Spring 給了我們 Spring Boot,它是多麼美麗的工程作品,如此優雅,如此簡單。而且,正如您將在下面看到的,它確實啟發了 Spring Data Geode 的工作。
過去,Spring 開發人員必須使用 XML 或 Java 組態來設定 Geode,然後使用引導機制,例如 Gfsh 或 Spring Boot 來啟動並執行。這甚至在 指南中有所展示。直到現在,兩者都沒有真正的優勢。
從這個里程碑版本開始,Spring Data Geode 將包含一組新的 註解,在形式/功能上非常相似,並且與 Spring Boot 註解互補,但專門用於 SD/Apache Geode,並有一個簡單的目標...
簡化開箱即用體驗,以便讓使用者盡可能地快速且輕鬆地啟動並執行
所以,讓我們再次看看我們的 XML 和 Java 組態範例...
@SpringBootApplication
@PeerCacheApplication
@WithReplicateRegions("myDistributedMap")
public class ExampleApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
@Resource(name = "myDistributedMap")
private Region<String, String> myDistributedMap;
@Override
public void run(String... strings) throws Exception {
assertThat(myDistributedMap.put("key", "value")).isNull();
assertThat(myDistributedMap.get("key")).isEqualTo("value");
assertThat(myDistributedMap.putIfAbsent("somekey", "somevalue")).isNull();
assertThat(myDistributedMap.replace("key", "value", "newvalue")).isTrue();
}
}
非常容易。這個範例相當簡單,但您可能會想像一些應用程式組態(例如,對於 範例;只需遵循層次結構)很快就會變得非常複雜。
這現在只是一個預告,請繼續關注更多資訊。
將會有許多不同的註解以一致且穩健的方式解決所有獨特的問題,提供開箱即用的預設值以及許多方便的「啟用」功能。這個新的註解組態模型的許多細節仍在進行中,例如適當的範例和文件。
在此期間,我已經開始建立一個 參考實作,它將展示一起使用 Spring 和 Apache Geode 的許多特性和功能(例如新的 註解組態模型)。
請關注我們後續的更多訊息。
一如既往,非常歡迎您提供意見反應,您可以在 JIRA 或 StackOverflow 上與我們聯絡。
非常感謝大家!