reporter_service.py - Retains the current http service interface. Parses JSON.
matcher.py - Does the work of accumulating GPS points into traces (Redis), performing map-matching on traces, forming statistics for matched segments (including intersection statistics), managing the history within Redis, and outputting stats to the Datastore/Aggregator.
reporter.consumer.py - Interface with Kafka. Message parsing.
The common matcher.py is shared code between the 2 possible interfaces/applications: a Python http service and a Kafka consumer. Note that the Kafka based Reporter would need to be hosted on premises and run by the TNC / Provider. The http based service could potentially be run within the Open Traffic AWS environment (e.g., a hosted service).
Output from the Reporter will continue to be http so it can communicate with an external Datastore.
this approach is no longer valid. we've moved the processing into flink so that now the reporter service is just used for the traffic segment matching and nothing more
reporter_service.py - Retains the current http service interface. Parses JSON.
matcher.py - Does the work of accumulating GPS points into traces (Redis), performing map-matching on traces, forming statistics for matched segments (including intersection statistics), managing the history within Redis, and outputting stats to the Datastore/Aggregator.
reporter.consumer.py - Interface with Kafka. Message parsing.
The common matcher.py is shared code between the 2 possible interfaces/applications: a Python http service and a Kafka consumer. Note that the Kafka based Reporter would need to be hosted on premises and run by the TNC / Provider. The http based service could potentially be run within the Open Traffic AWS environment (e.g., a hosted service).
Output from the Reporter will continue to be http so it can communicate with an external Datastore.