The two commonly used protocols are HTTP request/response with resource APIs (when querying most of all), and lightweight asynchronous messaging when communicating updates across multiple microservices
We will use Principles and Patterns are;
Dependency Inversion Principles (DIP)
Publish–Subscribe Design Pattern