Consider this scenario: I have two software components (microservices) that can communicate through two different communication protocols depending on how they are deployed.