Kafka Events
	
	    
	Introduction
Phaedra 2 uses Kafka for inter-service communication as well as some external communication.
This document provides a full list of all events Phaedra 2 services provide, and consume.
Notes
- All message formats are JSON, unless specified otherwise
 
- Each services has its own group ID, noted in snake-case. E.g. 
PlateService has group id plate-service 
- Additional/external consumers MUST NOT use these predefined group IDs.
 
Calculation Events
| Event Key | 
Description | 
Producer | 
Consumers | 
| requestPlateCalculation | 
Request a plate calculation | 
UI | 
CalculationService | 
| requestCurveFit | 
Request a curve fit | 
CalculationService | 
CalculationService | 
| notifyCalculationEvent | 
Progress notification about a running calculation job | 
CalculationService | 
* | 
Plate Events
| Event Key | 
Description | 
Producer | 
Consumers | 
| requestPlateCalculationStatusUpdate | 
Request a plate status change | 
CalculationService | 
PlateService | 
| requestPlateMeasurementLink | 
Request a plate-measurement link | 
PipelineService | 
PlateService | 
| requestPlateDefinitionLink | 
Request a plate-definition link | 
PipelineService | 
PlateService | 
| notifyPlateModified | 
Notification about a plate modification | 
PlateService | 
* | 
| notifyPlateMeasLinked | 
Notification that a plate has been linked with a measurement | 
PlateService | 
* | 
| notifyPlateDefinitionLinked | 
Notification that a plate has b een linked with a plate definition | 
PlateService | 
* | 
ResultData Events
| Event Key | 
Description | 
Producer | 
Consumers | 
| saveResultData | 
Save calculation result data | 
CalculationService | 
ResultDataService | 
| saveResultStats | 
Save calculation result stats | 
CalculationService | 
ResultDataService | 
| resultSetUpdated | 
Notification that a resultset has been updated | 
ResultDataService | 
* | 
| resultDataUpdated | 
Notification that a resultset’s data has been updated | 
ResultDataService | 
* | 
| resultFeatureStatUpdated | 
Notification that a resultset’s feature stat has been updated | 
ResultDataService | 
* | 
CurveData Events
| Event Key | 
Description | 
Producer | 
Consumers | 
| saveCurve | 
Save a DRC | 
CalculationService | 
CurveDataService | 
DataCapture Events
| Event Key | 
Description | 
Producer | 
Consumers | 
| requestCaptureJob | 
Request a new datacapture job | 
PipelineService | 
DataCaptureService | 
| notifyCaptureJobUpdated | 
Notification about progress of a datacapture job | 
DataCaptureService | 
* | 
Measurement Events
| Event Key | 
Description | 
Producer | 
Consumers | 
| requestMeasurementSaveWellData | 
Save measurement’s well data | 
DataCaptureService | 
MeasurementService | 
| requestMeasurementSaveSubwellData | 
Save measurement’s subwell data | 
DataCaptureService | 
MeasurementService | 
| notifyNewMeasurement | 
Notification that a new measurement is available | 
MeasurementService | 
* |