An application built on top of Microservices is usually composed of multiple services, each of which runs multiple replicas. Each service is specialized in a specific task. To achieve an end-to-end business use case, multiple services will need to be stitched together. This requires services to communicate to each other. A simple example would be a web frontend service communicating with the middle-tier services, which in turn connects to the backend services to handle a single user request. Some of these middle-tier services can also be invoked by external applications.
Services deployed on Service Fabric are distributed across multiple nodes in a cluster of virtual machines. The services can move across dynamically. This distribution of services can either be triggered by a manual action or be result of Service Fabric cluster manager...