getting started with apache geode

Post on 16-Apr-2017

388 Views

Category:

Software

7 Downloads

Preview:

Click to see full reader

TRANSCRIPT

2© 2014 Pivotal Software, Inc. All rights reserved. 2© 2014 Pivotal Software, Inc. All rights reserved.

Getting Started withApache GeodeSpring Boot ^ Spring Data Geode

John Blum

3© 2014 Pivotal Software, Inc. All rights reserved.

Presenter

John Blum Spring Data TeamSpring Data Geode LeadApache Geode CommitterPivotal Software, Inc.

@john_blum jxblum

4© 2014 Pivotal Software, Inc. All rights reserved.

How do you build an application that uses Apache Geode?

5© 2014 Pivotal Software, Inc. All rights reserved.

How do you configure and bootstrap Apache Geode for your application to use?

6© 2014 Pivotal Software, Inc. All rights reserved.

1. Install Apache Geode

2. Use Gfsh to start a Locator

3. Start Pulse

4. Start a Server

5. Create a replicated, persistent Region

6. Manipulate data in a Region and

demonstrate persistence.

7. Examine the effects of replication.

8. Restart the cache servers in parallel.

9. Shutdown the system including your

Locators.

Gfsh>

7© 2014 Pivotal Software, Inc. All rights reserved.

API

8© 2014 Pivotal Software, Inc. All rights reserved.

Gfsh+

API

9© 2014 Pivotal Software, Inc. All rights reserved.

cache.xml

10© 2014 Pivotal Software, Inc. All rights reserved.

Cluster Configuration

gfsh>start locator ..

gfsh>start server ..

gfsh>create region ..gfsh>create index ..

gfsh>deploy ..

gfsh>create gateway-sender ..

gfsh>create gateway-receiver ..

gfsh>alter region ..gfsh>create disk-store ..

gfsh>destroy index ..

gfsh>create async-event-queue ..

gfsh>alter runtime ..

gfsh>configure pdx ..

gfsh>destroy function..

11© 2014 Pivotal Software, Inc. All rights reserved.

App

cache.xml • Geode API

Gfsh

Cluster ConfigBosh

CF-CLI

PivotalGemFire

12© 2014 Pivotal Software, Inc. All rights reserved.

Spring XML

13© 2014 Pivotal Software, Inc. All rights reserved.

Spring @Java Config

14© 2014 Pivotal Software, Inc. All rights reserved.

Argh!

Gfsh API <cache.xml/> Cluster Configuration Spring XML Spring Java-based Annotation Config @

15© 2014 Pivotal Software, Inc. All rights reserved.

Spring Data GemFire / Geode

15

Apply the Spring Framework’s powerful, non-invasive programming model & concepts to simplify the configuration and development of highly-scalable, distributed Spring applications based on Pivotal GemFire or Apache Geode.

Promise

16© 2014 Pivotal Software, Inc. All rights reserved.

Spring Data GemFire / Geode

16

Simplify the OOTB, getting started experience by reducing the friction to get up & running as quickly and easily as possible.

Promise of 2016…

17© 2014 Pivotal Software, Inc. All rights reserved.

Apps are the currency…

18© 2014 Pivotal Software, Inc. All rights reserved.

19© 2014 Pivotal Software, Inc. All rights reserved.

Maven ArtifactsSpring Data GemFire / Geode

Spring Data GemFire<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-gemfire</artifactId> <version>1.8.2.RELEASE</version></dependency>

Spring Data Geode<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-geode</artifactId> <version>1.0.0.APACHE-GEODE-INCUBATING-M2</version></dependency>

Pivotal GemFire

http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data-gemfire%7C1.8.2.RELEASE%7Cjar

http://search.maven.org/#artifactdetails%7Corg.springframework.data%7Cspring-data-geode%7C1.0.0.APACHE-GEODE-INCUBATING-M2%7Cjar

20© 2014 Pivotal Software, Inc. All rights reserved.

Examples

21© 2014 Pivotal Software, Inc. All rights reserved.

Existing Annotations @EnableGemFireFunctions

@EnableGemFireFunctionExecutions

@EnableGemFireRepositories

22© 2014 Pivotal Software, Inc. All rights reserved.

More enabling annotations… @EnableAuth

@EnableExpiration

@EnableHttpService

@EnableLogging

@EnableOffHeap (Geode)

@EnableStatistics

@WithGemFireProperties

23© 2014 Pivotal Software, Inc. All rights reserved.

What’s Next…

Annotation Support for GemFire / Geode Callbacks Annotation-based Test Framework Extensions for Pivotal CloudFoundry (PCF)

24© 2014 Pivotal Software, Inc. All rights reserved.

Annotations for Callbacks@Componentpublic class ExampleApplicationCallbacks {

@CacheListener(region = “EventSource”) public void afterCreate(EntryEvent<K, V> event) { .. }

@CacheLoader(region = “DataSink”) public void load(LoaderHelper<K, V> helper) { .. }

@CacheWriter(region = “DataSource”) public void beforeUpdate(EntryEvent<K, V> event) { .. }}

25© 2014 Pivotal Software, Inc. All rights reserved.

Annotation-based Test Framework@RunWith(SpringRunner.class)@SpringBootTest@ClientServerIntegrationTestpublic class ExampleClientServerTests {

}

@RunWith(SpringRunner.class)@SpringBootTest@PeerIntegrationTestpublic class ExamplePeerMemberTests {

}

26© 2014 Pivotal Software, Inc. All rights reserved.

Other Things Brewing…

27© 2014 Pivotal Software, Inc. All rights reserved.

Spring Boot

27

PR #5445 – Spring Boot Starter Data Geode

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-geode</artifactId> <version>???</version></dependency>`

28© 2014 Pivotal Software, Inc. All rights reserved.

Spring Boot

28

PR #6224 – Auto-configuration support for SDG Repositories

interface CustomerRepository extends Repository<Customer, Long> {}

@Region(“Customers”)class Customer {}

compile “org.springframework.boot:spring-boot-starter-data-gemfire:1.5.0.M1”

No longer necessary…@SpringBootApplication@EnableGemfireRepositoriesclass ExampleSpringBootApplication {}

29© 2014 Pivotal Software, Inc. All rights reserved.

Try It Out…

Spring Data GemFire<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-gemfire</artifactId> <version>1.9.0.M1</version></dependency>

Spring Data Geode<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-geode</artifactId> <version> 1.0.0.APACHE-GEODE-INCUBATING-M3-SNAPSHOT </version></dependency>

Pivotal GemFire

https://repo.spring.io/libs-snapshot/org/springframework/data/spring-data-gemfire/1.9.0.M1/spring-data-gemfire-1.9.0.M1.jar

https://repo.spring.io/libs-snapshot/org/springframework/data/spring-data-geode/1.0.0.APACHE-GEODE-INCUBATING-M3-SNAPSHOT/spring-data-geode-1.0.0.APACHE-GEODE-INCUBATING-M3-SNAPSHOT.jar

30© 2014 Pivotal Software, Inc. All rights reserved.

ReferencesSlides @ http://www.slideshare.net/john_blum/getting-started-with-apache-geode

Examples @ https://github.com/SpringOnePlatform2016/spring-data-gemfire-in-action

31© 2014 Pivotal Software, Inc. All rights reserved. 31© 2014 Pivotal Software, Inc. All rights reserved.

QuestionsAnswers

top related