Because sequence of messages is critical concern to us, can GeoEvent support synchronous messaging in some way to avoid out of order issue? In my understanding, GeoEvent is an asynchronous product to increase throughput.
Hello William --
The inbound connectors you configure assume that they will receive the latest avilable data from a sensor network in real-time or near-real-time. Fundamental assumptions are that data will arrive in temporal order, at some discrete frequency and periodicity. Data should not be sent in batches with data records potentially out-of-temporal-order. GeoEvent Server can receive batches of data, but the batch is assumed to be a collection of individual observations from discrete sensors, not a collection of observations from a single sensor.
You might want to look into using SDK samples available on the GeoEvent Server Gallery to supplement your solution. The Delay Processor for GeoEvent Server or the Timetree Processor for GeoEvent Server may allow you to receive a collection of data observations, hold the data for a specified amount of time (e.g. "delay processing") and sort the data by TRACK_ID into a proper temporal order to guarantee processed event records reflect a first-in / first-out view of data collected from sensors in time order.
If you need help working with these SDK samples, please open an incident with Esri Technical Support. Limited consulting is available through technical support. More in-depth help implementing a solution can be arranged through Esri Professional Services if needed.
Hope this information helps
-- RJ