We're using protobuf to serialize messages and send them to an HTTP API. We recently started to implement a cache for our API to improve the performances when a message was already processed in the past.
Our first idea was to use a hash of the binary message generated by protobuf as a key for our cache but we figured out that protobuf doesn't guarantee messages to be deterministics across different environments.
Is there a good strategy to use protobuf messages as a cache key (knowing that we'd like to avoid implementing our own serialization logic) ?