There are two adapters for openPDC and Kafka, one is the
TimeSeriesProducer, the other is the
TimeSeriesConsumer. Generally these adapters are used to “interact” with Kafka. For example, to get synchrophasor data up into a Kakfa environment you would use the
From here you would use the data pushed into Kakfa from within that environment as needed. Note that this includes a data topic, for time-series measurements, and a metadata topic, a data set that describes the measurements. You will need to configure the adapter to push the desired measurements into Kafka.
TimeSeriesConsumer adapter exists to do just the opposite, i.e., read data positioned in Kafka back into the openPDC for processing. Note that the openPDC is designed to process real-time streaming data, this data would need to positioned in Kafka in a continuous fashion for this to be useful.
Also note that this openPDC adapter uses the Misakai Kafka C# library:
Here is its GitHub site for this library:
It looks like this project hasn’t been updated in about 5 years. As a result, it’s possible newer versions of Kafka might have trouble interacting with this library.
The adapter might need to be revamped with a better library, certainly an opportunity for community contribution
Note that the code for the Kafka adapter used by the openPDC can be found in the Grid Solutions Framework:
Hope that helps.