负载平衡MS Dynamics CRM 2011沙盒处理服务

时间:2012-12-30 16:28:07

标签: wcf iis dynamics-crm-2011 load-balancing nlb

看起来我和这个人碰壁了,没有太多关于此事的文件也没有帮助。

我定期向CRM运行大型自定义导入作业,所有这些都涉及从自定义客户端调用组织服务以将记录推送到CRM。记录通过自定义沙盒插件。

导入需要相当长的时间,我试图通过在多台服务器上设置沙盒处理服务来提高导入速度。

这是我到目前为止所尝试的内容:

  1. 使用沙盒处理服务添加另一台服务器。

                              / Sandbox Processing Service (crmsb1)
    Client > Front End (crm) <
                              \ Sandbox Processing Service (crmsb2)
    

    使用沙盒处理服务添加另一台服务器并没有帮助。前端服务器没有将负载分配到两台服务器上,它继续使用原始服务器。仅当在第一个后端服务器上禁用沙盒处理服务时,第二个服务器才开始处理插件请求。 (带回第一个在线没有帮助。)

  2. 两个具有所有角色的负载均衡服务器。

                            / 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 App。

  3. 在多台服务器上手动调用组织服务。

            / Full Server (crm1)
    Client <
            \ Full Server (crm2)
    

    我成功地设置了导入客户端,将导入作业拆分为多个块,并以循环方式同时为每个块调用所有组织服务端点。正如我所希望的那样,这大大加快了进口过程,并且如果需要,我可以进一步扩展。

  4. 我阅读了有关此事的任何内容,但我仍然对CRM 2011中负载均衡的工作原理以及可能的配置感到困惑。

    这些two guides广泛使用了负载均衡,但他们没有详细描述如何设置它。

    在我上线之前,这都是在测试环境中设置的。我使用域帐户进行所有服务,设置正确的SPN,并且没有使用SSL。我试过&amp;在ARR中没有Client Affinity(它适用于cookie,所以我假设WCF服务没有锁定到一个后端)。

    我的问题如下:

    1. 是否可以在主动/主动设置(负载均衡)中的多台服务器上设置沙盒处理服务本身(上面的1),还是仅支持主动/被动(HA)?

    2. 如果使用多个Sandbox处理服务实例的唯一方法是设置多个具有前端和后端角色的服务器(上面的2个),有没有办法使用负载均衡器,如NLB或ARR,用于组织服务,或者是仅支持Web App的负载均衡器,我必须使用上面的第3种方法对沙盒处理服务进行负载平衡?

1 个答案:

答案 0 :(得分:4)

这是对你对我的文章的评论的回应(http://bit.ly/QOEvLF)我也会在那里反复发表回复:

Sandbox服务无法坐在负载均衡器后面 - 或者它们的设计方式不适合该配置。我相信CRM实施指南中包含有关此内容的信息,但Sandbox服务将打开网络套接字并在特定端口上侦听流量。当沙盒服务成功联机时,它会回调CRM以将其自身注册为“可用”(因此async和前端等服务都知道它可用)。然后,需要隔离(沙盒)的角色将根据需要直接在该TCP通道上循环调用沙箱服务。有关此内容的详细信息,请参阅:http://bit.ly/CRMSetupFAQ。另请注意,您可能还需要为沙盒服务设置自定义SPN。

如果您对此有任何疑问,请与我们联系 - 谢谢!

肖恩

相关问题