Azure Traffic Manager - Gurantee Specific VM Routing

Tahmid Eshayat 286 Reputation points
2021-10-26T02:00:22.57+00:00

Hi there,

We have a legacy WebForms application, where we are using In Memory Session store. We have around 1000 concurrent user. Due to large traffic we want to replicate the VM into 2 to 4 different instances. We would like to utilise Azure Traffic Manager to split the traffic between the instances.

But Our issue is, Since we use In Memory Session Store, we must guarantee if User 1 has initially went to VM1, all of his consecutive request must go to VM1. It can't go to VM2. as that VM does not store the state.

We can't use SQL Server based session store, due to large number of connection that created by the application, and refactoring within the application requires more effort.

Before taking Azure Traffic manager as a solution, we would like to know, if the above issue is possible to tackle with Azure Traffic Manager ?

Thanks

Azure Virtual Machines
Azure Virtual Machines
An Azure service that is used to provision Windows and Linux virtual machines.
7,471 questions
Azure Traffic Manager
Azure Traffic Manager
An Azure service that is used to route incoming network traffic for high performance and availability.
111 questions
ASP.NET
ASP.NET
A set of technologies in the .NET Framework for building web applications and XML web services.
3,396 questions
Azure Load Balancer
Azure Load Balancer
An Azure service that delivers high availability and network performance to applications.
420 questions
0 comments No comments
{count} votes

Accepted answer
  1. GitaraniSharma-MSFT 49,171 Reputation points Microsoft Employee
    2021-10-26T04:27:24.09+00:00

    Hello @Tahmid Eshayat ,

    Welcome to Microsoft Q&A Platform. Thank you for reaching out & hope you are doing well.

    As mentioned in this doc, Traffic Manager works at the DNS level. It uses DNS responses to direct clients to the appropriate service endpoint. Clients connect to the service endpoint directly, not through Traffic Manager. Therefore, Traffic Manager does not see the HTTP traffic between the client and the server.

    Additionally, the source IP address of the DNS query received by Traffic Manager belongs to the recursive DNS service, not the client. Therefore, Traffic Manager has no way to track individual clients and cannot implement 'sticky' sessions. This limitation is common to all DNS-based traffic management systems and is not specific to Traffic Manager.

    If you want to guarantee specific VM routing which means sticky sessions, then you may look into Azure load balancer or Azure Application gateway or Azure Front Door. Below are the respective articles explaining session affinity (sticky sessions) feature for the above mentioned products:
    https://video2.skills-academy.com/en-us/azure/load-balancer/distribution-mode-concepts
    https://video2.skills-academy.com/en-us/azure/application-gateway/configuration-http-settings
    https://video2.skills-academy.com/en-us/azure/frontdoor/front-door-routing-methods#affinity

    Kindly let us know if the above helps or you need further assistance on this issue.

    ----------------------------------------------------------------------------------------------------------------

    Please "Accept the answer" if the information helped you. This will help us and others in the community as well.

    0 comments No comments

0 additional answers

Sort by: Most helpful