System administrators familiar with ArcGIS GeoEvent Server know that a Windows service (or on Linux, a daemon) provides the real-time server capabilities. The service is run within a Java virtual machine (JVM). Starting with the 10.6 release, a new service was deployed with GeoEvent Server, the ArcGIS GeoEvent Gateway.
The ArcGIS GeoEvent Gateway runs as a service, within a separate JVM, to provide GeoEvent Server with a distributed configuration store (Apache ZooKeeper) and a message broker (Apache Kafka). Prior to the 10.6 release, system architects needing a resilient and scalable solution had to configure an external message broker to handle the distribution of event records from an inbound data feed to multiple, independent, GeoEvent Server instances when the velocity or volume of the inbound data feed was more than a single server could handle. A description of this approach is detailed in the GeoEvent Server Resiliency tutorial.
A limitation of this approach was that the GeoEvent Server instances were truly independent; they knew nothing about one another and administrators were responsible for ensuring each instance maintained an identical configuration. Further, GeoEvent Server, prior to 10.6, relied on a platform service provided by ArcGIS Server for its configuration store. Work was done to make sure the ArcGIS GeoEvent Server service depended on the ArcGIS Server service - such that stopping the ArcGIS Server service would also stop the ArcGIS GeoEvent Server service. But the termination and restart of the ArcGIS Server platform services had consequences when trying to architect a GeoEvent Server multiple-machine solution.
The lifecycle of the ArcGIS GeoEvent Gateway service is intended to mirror that of the operating system. Administrators may have reason to stop and start either the ArcGIS Server or ArcGIS GeoEvent Server services - but can leave the ArcGIS GeoEvent Gateway service running. This provides stability for shared configuration storage and coordination of a multiple-machine configuration.
The ArcGIS GeoEvent Gateway service also supports the distribution of event records across multiple-machines participating in an ArcGIS Server site. Individual instances of the ArcGIS GeoEvent Gateway use an internal message broker to coordinate the distribution of event records so real-time processing of event records can now run across multiple-machines. A single, high-volume or high-velocity inbound data feed can now leverage a multiple-machine site configuration.
System administrators and solution architects interested in developing multiple-machine site deployments should work with their Esri Technical Advisor for technical support. Access the GeoEvent Server Multiple-Machine Site tutorial from GeoEvent Server tutorials.