【发布时间】:2012-12-15 01:37:34
【问题描述】:
好像我在这个问题上碰壁了,没有太多关于此事的文档也无济于事。
我定期向 CRM 运行大型自定义导入作业,所有这些都涉及从自定义客户端调用组织服务以将记录推送到 CRM。记录通过自定义沙盒插件。
导入需要相当长的时间,我正在尝试通过在多台服务器上设置沙盒处理服务来提高导入速度。
到目前为止,这是我尝试过的:
-
使用沙盒处理服务添加另一台服务器。
/ Sandbox Processing Service (crmsb1) Client > Front End (crm) < \ Sandbox Processing Service (crmsb2)使用沙盒处理服务添加另一台服务器没有帮助。前端服务器没有将负载分配到两台服务器上,它继续使用原始服务器。只有在第一个后端服务器上禁用沙盒处理服务时,第二个服务器才开始处理插件请求。 (带回第一个在线并没有帮助。)
-
两个具有所有角色的负载平衡服务器。
/ Full Server (crm1) Client > IIS ARR (crm) < \ Full Server (crm2)我遵循this guide(和许多其他人)的信函并让 Web 应用程序通过反向代理工作,但未能通过组织服务执行请求。在通过不断更改另一个设置消除了无数 WCF 错误之后,我遇到了这个错误
The security context token is expired or is not valid. The message was not processed.让我假设负载平衡仅适用于 Web 应用程序。 -
在多台服务器上手动调用组织服务。
/ Full Server (crm1) Client < \ Full Server (crm2)我成功地设置了导入客户端,将导入作业拆分为多个块,并同时为每个块以循环方式调用所有组织服务端点。正如我所希望的那样,这显着加快了导入过程,并让我能够在需要时进一步扩展。
我阅读了有关此问题的所有信息,但我仍然对 CRM 2011 中负载平衡的工作原理以及可能的配置感到困惑。
这些twoguides 广泛使用了负载平衡,但没有详细描述如何设置它。
这一切都是在我上线之前在测试环境中设置的。我为所有服务使用了域帐户,设置了正确的 SPN,并且没有使用 SSL。我在 ARR 中尝试了使用和不使用 Client Affinity(它适用于 cookie,所以我假设 WCF 服务没有锁定到一个后端)。
我的问题如下:
是否可以在主动/主动设置(负载平衡)的多台服务器上设置沙盒处理服务本身(上述 1),还是仅支持主动/被动 (HA)?
如果使用多个沙盒处理服务实例的唯一方法是设置多个具有前端和后端角色的服务器(以上 2 个),是否有任何方法可以使用负载平衡器,如 NLB 或ARR,用于组织服务,还是仅支持 Web 应用的负载均衡器,我必须使用上面的第 3 种方法来对沙盒处理服务进行负载均衡?
【问题讨论】:
标签: wcf iis dynamics-crm-2011 load-balancing nlb