Beruflich Dokumente
Kultur Dokumente
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
Home
Library
Forums
Wiki
TechCenter
84
Tw eet
44
Like Exchange 2013, Exchange 2016 does not require session affinity at the load balancing layer.
To understand this statement better, and see how this impacts your designs, we need to look at how MBX2016 functions. From a protocol perspective, the
following will happen:
Like
However, there is a concern with this architectural change. Since session affinity is not used by the load balancer, this means that the load balancer has no
knowledge of the target URL or request content.All the load balancer uses is layer 4 information, the IP address and the protocol/port TCP 443:
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
1/7
10/12/2015
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
The load balancer can use a variety of means to select the target server from the load balanced pool, such as, roundrobin each inbound connection goes to
the next target server in the circular list or leastconnection load balancer sends each new connection to the server that has the fewest established
connections at that time.
What if the load balancer health probe did not monitor healthcheck.htm?
If the load balancer did not utilize the healthcheck.htm in its health probe, then the load balancer would have no knowledge of Managed Availabilitys
removal of or adding back a server from the applicable load balancing pool. The end result is that the load balancer would have one view of the world, while
Managed Availability would have another view of the world. In this situation, the load balancer could direct requests to a Mailbox server that Managed
Availability has marked down, which would result in a negative or broken user experience. This is why the recommendation exists to utilize healthcheck.htm
in the load balancing health probes.
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
2/7
10/12/2015
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
As long as the OWA health probe response is healthy, the load balancer will keep the target MBX in the load balancing pool. However, if the OWA health
probe fails for any reason, then the load balancer will remove the target MBX from the load balancing pool for all requests associated with that particular
namespace. In other words, in this example, health from the perspective of the load balancer, is perserver, not perprotocol, for the given namespace.This
means that if the health probe fails, all client requests for that namespace will have to be directed to another server, regardless of protocol.
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
3/7
10/12/2015
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
Figure 5: Single Namespace w ith Layer 7 No Session Affinity Health Probe Failure
A single namespace utilizing layer 7 without session affinity is the recommended namespace and load balancer configuration for Exchange 2016.
Figure 6: Single Namespace w ith Layer 7 w ith Session Affinity Health Probe Failure
Note: By having session affinity enabled, the load balancers capacity and utilization are decreased because processing is used to maintain more involved
affinity options, such as cookiebased load balancing or Secure Sockets Layer SSL sessionID. Check with your vendor on the impacts session affinity will
have in your load balancing scalability.
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
4/7
10/12/2015
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
Note: As seen in the picture depicted above, ECP is provided its own namespace. ECP and OWA are intimately tied together, and thus, ECP does not
necessarily require its own namespace. However, ECP does have its own application pool, is the endpoint for the Exchange Administration Center, and used
by Outlook clients for certain configuration items. Therefore, you may want to provide a unique namespace for ECP.
The load balancer is configured to not maintain session affinity layer 4. The load balancer is also configured to check the health of the target Mailbox servers
in the load balancing pool; in this case, the health probes are effectively configured to target the health of each virtual directory, as each virtual directory is
defined with a unique namespace, and while the load balancer still has no idea what the URL is being accessed, the result is as if it does know.
As long as the OWA health probe response is healthy, the load balancer will keep the target MBX in the OWA load balancing pool. However, if the OWA health
probe fails for any reason, then the load balancer will remove the target MBX from the load balancing pool for OWA requests. In other words, in this example,
health is perprotocol; this means that if the health probe fails, only the affected client protocol will have to be directed to another server.
The downside to this approach is that it introduces additional namespaces, additional VIPs one per namespace, and increases the number of names added
as subject alternative names on the certificate, which can be costly depending on your certificate provider. But, this does not introduce extra complexity to the
end user the only URL the user needs to know is the OWA URL. ActiveSync, Outlook, and Exchange Web Services clients will utilize Autodiscover to determine
the correct URL.
Benefits
Concerns
Single namespace
Reduced load balancer
complexity
Session affinity maintained at
MBX
Perserver health
Single namespace
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
5/7
10/12/2015
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
Affinity
Perprotocol health
scalability
Single namespace
Perprotocol health
Perprotocol health
Session affinity maintained at
MBX
Users only have to know OWA
URL
Multiple namespaces
Additional names on certificate
Increased rule set on load balancer
Multiple VIPs
Conclusion
Exchange 2016 introduces significant flexibility in your namespace and load balancing architecture. With load balancing, the decision ultimately comes down to
balancing functionality vs. simplicity. The simplest solution lacks session affinity management and perprotocol health checking, but provides the capability to
deploy a single namespace. At the other end of the spectrum, you can utilize session affinity management, perprotocol health checking with a single
namespace, but at the cost of increased complexity. Or you could balance the functionality and simplicity spectrums, and deploy a load balancing solution that
doesnt leverage session affinity, but provides perprotocol health checking at the expense of requiring a unique namespace per protocol.
Ross Smith IV
Comments
Ravikumar Sathyamurthy ShakthiRavi #
Nice post!!!
Yaniv Totshvili #
thnx
Recep YUKSEL #
Dinesh111 #
Thank you Ross Smith for sharing deep dive knowledge as always .....
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
6/7
10/12/2015
Exchange TechNet
Resources
Exchange TechCenter
Exchange Server 2010
Exchange Server 2007
TechNet Library
Forums
LoadBalancinginExchange2016ExchangeTeamBlogSiteHomeTechNetBlogs
Quick Links
Support
Exchange Development
Blog
Buy Now
MSExchange.org
Exchange Online
MSExchangeGuru's Blog
Ask Perry
More...
Terms of Use
Trademarks
http://blogs.technet.com/b/exchange/archive/2015/10/08/loadbalancinginexchange2016.aspx
Privacy Statement
Report Abuse
7/7