frmscoe / General-Issues

This repo exists to track current work and any issues within the FRMS CoE
2 stars 0 forks source link

Performance hypothesis: Protocol buffers for interservices communication #261

Closed Justus-at-Tazama closed 10 months ago

Justus-at-Tazama commented 10 months ago

Ref: https://frmscoe.atlassian.net/wiki/spaces/FRMS/pages/68485132/Protobuf+vs+Json Ref: https://protobuf.dev/

As an Actio platform operator, I want messaging between processors to be as efficient as possible, So that I can maximise performance at minimal cost.

Acceptance criteria:

image

  1. For each of the following platform processors, replace the deserialisation of the ingress payload from JSON with a protocol buffer: CRSP All rule processors Typology Processor CADProc TADProc

  2. For each of the following platform processors, replace the serialisation of the egress payload into JSON with a protocol buffer: TMS API CRSP All rule processors Typology Processor CADProc

  3. Update to the platform's interservices protocol must be made in the communications library.

  4. For the NATS REST proxy: a. Encode the submitted JSON payload and submit the payload to the designated NATS resource using a protocol buffer b. Decode the payload received from the designated NATS resource into JSON

FYI: current REST-based ingress and egress will remain in JSON: