Hi, @Nikunj Khunt
It looks like you want to ask about: How would I architect a highly resilient, high availability, resource optimized microservice using Azure Service Fabric? Here is some solution from my side:
- Service Partitioning:
- Consider the data and communication patterns of your microservices to determine the appropriate partitioning strategy. For stateful services, choose a partitioning key that evenly distributes data and requests.
- Service Fabric provides different partitioning strategies, such as singleton, named, and range partitioning. Choose the one that aligns with your application's requirements.
- Replication and Availability:
- Configure the replication settings for your stateful services based on your desired level of availability and durability. Options include primary-only, synchronous, and asynchronous replication.
- Understand the impact of quorum-based systems on availability. A majority of replicas must be available for a service to remain operational.
- Load Balancing:
- Service Fabric includes built-in load balancers for stateless services. Configure load balancing policies, such as round-robin or custom policies based on service metrics.
- For stateful services, use the Service Fabric Reverse Proxy to