Skip to content

ggreen/gemfire-showcase

Repository files navigation

GemFire Extension

This project contains example APIs, applications, design patterns implementations, demos and documentation for enabling the use of GemFire.

Prerequisites

  • Java 17
  • Gradle 8.4 or higher
  • vmware-gemfire-10.1.0 or higher

Hands On Labs

See labs

Demos

Demo Notes
WAN REPLICATION ACTIVE_ACTIVE Showcases the GemFire WAN replications
GemFire Management Console This demo will setup 2 WAN replication connected GemFire clusters. The GemFire Manage Console will be used to showcase the fleet management abilities.

GemFire API

Project Notes
components/gemfire-extensions-core GemFire client API wrapper
components/gemfire-extensions-spring-security Spring Security implementation backed by GemFire
components/gemfire-http-dotnet-api Wrapper Dotnet Core client that uses the GemFire HTTP API

Management Operations

Project Notes
components/gemfire-extensions-core GemFire client API wrapper
gemfire-perf-test GemFire Performance test Tool
applications/gemfire-gc-log-analyzer JVM Java Garbage Collection logs file Analyzing
gemfire-health-log-analyzer Analyze and summary information in GemFire log files
applications/operations/gemfire-stats-to-csv Saves useful GemFire statistics to a CSV file
components/gemfire-extensions-spring-security Spring Security implements backed by GemFire
applications/gemfire-health-shell-app Spring Shell application to analyzer GemFire statistics
components/gemfire-health-office Tools for analyzing GemFire statistics
components/gemfire-security-managers GemFire security manager implementations
deployments/scripts/gemfire-devOps-bash GemFire cluster operations DevOps management scripts

The following are GemFire utility functions

Functions Notes
components/gemfire-touch-function GemFire function to synchronize region in WAN replicated GemFire clusters
gemfire-clear-region-function Clear all entries delete in a partitioned/replicated region
gemfire-delete-region-function Delete entries in a region based on a matching sql statement
gemfire-object-sizing-function Determine the top entries sizes in region for debugging unbalanced data
gemfire-search-function Function to perform a Full text search using GemFire Search

This follow are example GemFire client applications

Application Notes
applications/examples/spring/spring-hystrix using Hystrix with a Spring based GemFire client.
applications/examples/spring/pdx-migration example reading from a GemFire snapshot.
applications/examples/spring/account-service Sample Spring REST API GemFire client application

Building Source Code

Set up Maven Repository user credentials See https://gemfire.dev/quickstart/java/

export BROADCOM_MAVEN_USERNAME=$HARBOR_USER
export BROADCOM_GEMFIRE_MAVEN_PASSWORD=$HARBOR_PASSWORD

Building source code

gradle  build

GemFire Best Practices and Documentation

The following are documented best practices based on GemFire lessons learned.

Subject Notes
Class loader isolation GemFire server-side modules class loader guidelines
GemFire on Kubernetes Demos GemFire, apps and services on Kubernetes Demos
GemFire Demos Demos for various features

Starting a GemFire Cluster Locally

Set the GEMFIRE_HOME environment to the installation directory of GemFire.

Example

export GEMFIRE_HOME=/Users/devtools/repositories/IMDG/gemfire/vmware-gemfire-10.1.0

See local startup script

./deployment/local/gemfire/start.sh

About

GemFire NoSQL database examples applications and API components.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •