Exchange Server 2013系列六:客户端访问服务器角色高可用性概述

简介:

客户端访问服务器角色的高可性就是常说的负载平衡技术,负载平衡的两种主要用途:当一个 Active Directory 站点中的某个客户端访问服务器出现故障时,负载平衡可以降低该故障造成的影响;此外,负载平衡可确保每个客户端访问服务器上的负载分配均匀。

Exchange Server 2013负载平衡体系较之早期版本发生了改变,Exchange 2010 协议要求相关性,例如客户端计算机上运行的 Outlook、移动设备上运行的 Microsoft Exchange ActiveSync、Microsoft Office Outlook Web App、Exchange Web 服务或其他客户端应用程序。相关性可确保所有来自客户端的请求都发送到同一个客户端访问服务器。因此需要用到七层负载平衡设备,也称为应用层负载平衡,使用复杂的规则来确保某个客户端的所有请求到达同一个CAS角色,如果某个客户端的所有请求因需要相关性的协议而无法到达同一个CAS角色,则用户体验会受到影响。也就是类似于身份验证、代理、重定向、客户端协议、API接口等功能是在CAS和HUB角色上的。

但是在Exchange 2013中,客户端访问服务器角色为轻量型无状态的代理服务器,前端客户端访问服务器角色只负责身份验证、代理和重定向,而其他的一些功能由后端的邮箱服务器角色承担,这样前端CAS就变的非常简单。也就是说,由于对邮箱的所有处理都是在邮箱服务器上进行的,因此客户端访问服务器数组中的哪个客户端访问服务器接收客户端请求无关紧要,充当客户端与邮箱服务器之间的连接的代理。邮箱服务器处理客户端与活动邮箱数据库之间的所有连接。 功能上的这种更改意味着负载平衡器级别不再需要会话相关性。 这允许使用负载平衡技术(如 DNS 轮循机制)提供的简单技术平衡到客户端访问服务器的入站连接。 还允许硬件负载平衡设备显著支持更多并发连接。

image

那么下图是Exchange 2013前端的协议体系,在这个图中可以看到前端只是将相应的协议定向(代理)到后端,由后端服务器进行处理。

image

客户端访问服务器角色的高可用性方案:

Exchange 2010 协议要求相关性,要求要么使用源IP相关性的Windows 网络负载平衡技术或者是使用硬件负责平衡设备,

WNLB的使用限制:

1. 不能与DAG服务器同用,原因是NLB与故障转移群集不能在一台计算机上同时存在。

2. WNLB 只支持源 IP 相关性,当源 IP 池较小时,这不是有效的解决方案。 当源 IP 池来自远程网络子网或组织在使用网络地址转换时,可能会发生这种情况。

3. 性能上,不建议超过8个NLB节点。

4. WNLB 不会检测服务中断。 WNLB 只按 IP 地址检测服务器中断。 这就是说,如果一个特定 Web 服务(如 Outlook Web App)出现故障,但服务器仍在运行,则 WNLB 不会检测到该故障,并且仍会将请求路由到该客户端访问服务器。 需要手动干预来从负载平衡池中删除出现中断的客户端访问服务器。

    硬件负载平衡设备则性能上高于WNLB,硬件负载平衡器支持非常高的通信吞吐量,并且可以配置为以多种方式平衡负载。 大多数硬件负载平衡器供应商都有关于其产品与 Exchange 2010 一同运行的情况的详细文档。 配置硬件负载平衡器最简单的方法是创建一个关于负载平衡器将应用的相关性方法的回退列表。例如,负载平衡器会首先尝试基于 cookie 的相关性,然后尝试 SSL 会话 ID,再然后尝试源 IP 相关性。

PS: 关于Cookie:当用户在浏览网站的时候,Cookie 会根据用户的所输入的文字或是一些选择,并纪录下来。当下次用户再访问该业务时, 服务器会先看看有没有它上次留下的 Cookie 资料,有的话,就会依据 Cookie里的内容来判断使用者。 cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

    使用现有 cookie 或 HTTP 头是标识客户端并将其与特定客户端访问服务器关联的最可靠的方法。 这些 cookie 和 HTTP 头是由客户端或服务器将其作为通信协议的一部分创建的。 这一选项也不需要负载平衡器修改通信,从而有助于优化性能。 将客户端会话与客户端访问服务器关联的第二个可靠的方法是使用负载平衡器创建的 cookie。 负载平衡器将 HTTP cookie 添加到客户端/服务器协议会话中,然后用此 cookie 来确定应该由哪个客户端访问服务器处理传入请求。基于 SSL 会话 ID 的负载平衡比源 IP 相关性提供的内容更为详细,并且使您能够拆分来自不同客户端的通信,即使这些客户端来自同一个 IP 地址也是如此。 SSL 会话 ID 负载平衡的另一个优点是使您能够在不对 SSL 通信进行解密的情况下实现负载平衡。 当使用客户端证书身份验证时和当结束客户端访问服务器的 SSL 连接时,这个优点就发挥作用了。提供客户端与客户端访问服务器之间的相关性最常用的方法是使用源 IP 相关性。 负载平衡器会检查客户端的 IP 地址,并将来自特定源 IP 的所有通信都发送到特定客户端访问服务器。 这是 WNLB 支持的唯一的相关性类型。 最后一种相关性是无相关性。 不使用相关性时,来自客户端的每个请求都会随机分配给一个客户端访问服务器。 对于需要相关性的协议或者相关性有助于改善其性能的协议,我们不建议使用此选项。 下表是一些负载平衡技术的对比:

image

Exchange 2013 仍然支持使用硬件负载平衡器,不同于Exchange 2010的是,不需要为每个 Exchange 协议配置会话相关性,如果条件允许,还是建议使用硬件设备,它可以检测特定客户端访问服务器何时不可用,并将其从要处理入站连接的一组服务器中删除。如果企业中没有现成的硬件设备,WNLB也是一个不错的选择,使用WNLB,就需要容忍它的一些限制。






 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/1433273,如需转载请自行联系原作者


相关文章
|
9月前
|
人工智能 搜索推荐 程序员
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
2052 4
|
10月前
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
507 10
|
12月前
|
存储 开发工具 git
[Git] 深入理解 Git 的客户端与服务器角色
Git 的核心设计理念是分布式,每个仓库既可以是客户端也可以是服务器。通过 GitHub 远程仓库和本地仓库的协作,Git 实现了高效的版本管理和代码协作。GitHub 作为远程裸仓库,存储项目的完整版本历史并支持多客户端协作;本地仓库则通过 `.git` 文件夹独立管理版本历史,可在离线状态下进行提交、回滚等操作,并通过 `git pull` 和 `git push` 与远程仓库同步。这种分布式特性使得 Git 在代码协作中具备强大的灵活性和可靠性。
[Git] 深入理解 Git 的客户端与服务器角色
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
2689 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
294 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
3648 4
|
网络协议 Ubuntu Linux
gpg从公钥服务器接收失败(gpg: keyserver receive failed: Server indicated a failure)
通过上述步骤,大多数情况下应该能够解决GPG从公钥服务器接收失败的问题。如果问题依旧存在,可能需要进一步调查与公钥服务器相关的更深层次的技术问题,或者考虑在相关社区论坛寻求帮助。
2971 1
|
安全 区块链 数据库
|
3月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
301 10
|
3月前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。

热门文章

最新文章