This topic introduces and describes VMware Tanzu GemFire for Tanzu Application Service architecture.
Tanzu GemFire is the data store within GemFire for Tanzu Application Service. A GemFire for Tanzu Application Service service instance requires a small amount of administrative setup, and any app will use a limited portion of the API.
The GemFire for Tanzu Application Service architectural model is a client-server model. The clients are apps or microservices, and the servers are a set of cluster servers maintained by a GemFire for Tanzu Application Service service instance. The servers provide a low-latency, consistent, fault-tolerant data store within GemFire for Tanzu Application Service.
The cluster holds data in key/value pairs. Each pair is called an entry. Entries are logically grouped into sets called regions. A region is a map (or dictionary) data structure.
The app (client) uses GemFire for Tanzu Application Service as a cache. A cache lookup (read) is a get operation on a region. The cache operation of a cache write is a put operation on a region. The command-line interface, named gfsh
, facilitates region administration. Use gfsh
to create and destroy regions within the GemFire for Tanzu Application Service service instance.
A running app’s location affects how it communicates with the GemFire for Tanzu Application Service service instance. Apps may run in one of three locations:
To use a service gateway, the operator must Configuring a Service Gateway. The developer must Provide Optional Parameters when creating the GemFire for Tanzu Application Service service instance. And, the app must be given and use properties that authenticate and authorize Communicating with a Service Instance through the service gateway.
When a client connects to the cluster, it first connects to a locator. The locator replies with the IP address of a server for it to talk to. The client then connects to that server.
When the client wants to read or write data, it sends a request directly to the server.
If the server doesn’t have the data locally, it fetches it from another server.