-
Notifications
You must be signed in to change notification settings - Fork 277
DatastoreServer
AppServers save, retrieve, and query data via the Datastore API. We support AppServers written in the Python, Java, and Go programming languages, but we don't want to duplicate the complexity of talking to any database supported within AppScale within each of the AppServers. We therefore create a specialized server that understands the encoding used by Datastore API requests, known as Protocol Buffers, that can use the AppDB translation layer to talk to supported databases.
The DatastoreServer exposes an interface that AppServers can send Protocol Buffer-encoded requests to, which in turn uses the AppDB translation layer to read or write to whichever database AppScale is running on.
In response to Datastore API requests from the Python, Java, or Go AppServers.
DatastoreServers run on each database node within an AppScale deployment. These servers are load balanced by nginx
and haproxy
.
The DatastoreServer is written in Python, and its code can be found in appscale/AppDB/datastore_server.py
.