Configuring Responder
Message Router Configuration

Version: 10.2.1c and 10.2.1c SP3

Resource Center Home

Each Responder service has its own internal message router. To run message routing as an external process, you can disable the internal message router on a service and point it to the external message router. If you have a single business server with one set of message queues, the external message router service is not necessary. Before continuing, here are a few terms used when describing the scenarios below:

When run externally, the message router is a business service hosted by the Responder Windows Service. It provides support for scaling out Responder by adding additional computers to run the Responder business services (i.e., Data Services, Prediction Services, Line Display Services, and Archive Services). The message router works around the limitations of transactional queues.

When using an external message router, make sure to start the Responder Windows Service that contains this external message router before starting the Responder Windows Service on any other Responder business server.

This page discusses two ways you can configure to use multiple instances of Data Services (or Prediction Services, Archive Services) on multiple machines. Implement the scenario that best suits your needs. In the first scenario, the external message router resides on a server of its own. In the second scenario, the secondary data services uses the message router on the primary server. This message router can be internal or external.

These scenarios discuss Data Services, but the same concepts apply to Prediction Services, Line Display Services, and Archive Services.

Scenario 1:

In this scenario, the message router is run as an external process on its own server. In this case the internal message router would need to be disabled on all Responder servers.

Follow these steps to install the external message router and configure Data Services on your Responder servers to use the external message router process. All machines, including the message router server, should have Responder Server installed.

  1. On the message router server, ensure that the Responder Windows Service is not running.
  2. Locate the batch script file. It is installed in the following location: Responder\Developer Resources\Implementation Scripts\Config\Optional Config\AddMessageRouter.bat.
  3. Double-click AddMessageRouter.bat to execute it.
  4. Start the Responder Windows Service.
  5. Open the Responder Service Configuration browser (link in the Start menu). The Message Router tab has been added to your Responder Windows Service.
  1. By default, the Arguments have been set so that the message router forwards messages for all Responder business services. You can modify the Arguments field if you're running only one business service. The example below has the Message Router forward messages only for Data Services.
       -service:rxserver
    
  2. Once you've set the Arguments, set the Count field to 3 and click Apply. This starts the message router.

We recommend three instances of the message router. A build-up of messages in the request queues indicates that you may need additional message router instances.

  1. Be sure to check the tabs for the other services to ensure the Arguments and Count properties are set correctly. When the batch script is executed to add the Message Router tab, the data on the other tabs may revert to the defaults. Because you are running only message router on this particular server, the Count field on all other tabs should be set to 0.

The next steps disable the internal message router process on the primary and secondary servers and instruct these servers to use the external message router. Repeat these steps for the primary server and each secondary server.

  1. Ensure that the Responder Windows Service is not running.
  2. Browse to and open Miner.Responder.DataServices.exe.config. This file may be edited in a text editor application such as Notepad.

Do not edit XML files using a word processing program such as WordPad or Microsoft Word as it may corrupt your configuration file.

  1. Look for the <wellknown> tags (within the <client> tags) and modify these so the Responder server knows where to find the external Message Router. By default, the url tag points to the localhost using a period (.). For example: "OS:.\private$\RxPrediction/PredictionServices.rem"

    Replace the period with the name of the Message Router server.

Copy Code
<client>
<wellknown type="Miner.Responder.Shared.IPredictionServices, Miner.Responder.Shared" url="msmq://FormatName:DIRECT=OS:PrimaryServerName\private$\RxPrediction/PredictionServices.rem" />
<wellknown type="Miner.Responder.Shared.IArchiveServices, Miner.Responder.Shared" url="msmq://FormatName:DIRECT=OS:PrimaryServerName\private$\RxArchive/ArchiveServices.rem" />
<wellknown type="Miner.Responder.Shared.ILineDisplayService, Miner.Responder.Shared" url="msmq://FormatName:DIRECT=OS:PrimaryServerName\private$\LineDisplayServices/LineDisplayServices.rem" />
</client>
    
  1. Next, look for the <channel> tag. You will need to add a "router" attribute to the <channel> tag.

    This is how it appears by default:

Copy Code
     <channels>
          <channel ref="msmq" isServer="true" />
        </channels>
   
  1. Modify the XML to add the router attribute. Replace "MessageRouterServerName" with the name of your message router server.
Copy Code
<channels>
<channel ref="msmq" isServer="true" router="FormatName:DIRECT=OS:MessageRouterServerName" />
</channels>
  
  1. Save and close Miner.Responder.DataServices.exe.config.
  2. Make the same changes to the appropriate configuration files if the Responder server is running Prediction, Line Display, and/or Archive Services.
    • Prediction: modify Miner.Responder.PredictionServices.exe.config
    • Line Display: modify Miner.Responder.LineDisplayService.exe.config
    • Archive Services: modify Miner.Responder.ArchiveServices.exe.config
  3. Start the Responder Windows Service.
  4. Open the Responder Service Configuration browser (link in the Start menu) and start the necessary business services (Data Services, Prediction, etc.).

Scenario 2

In this scenario, the primary server hosts the message router either as an internal or external process. While you may install the message router as an external process on the primary server, there's no real reason to do this. You can just as easily instruct the secondary servers to use the message router on the primary server when it's run as an internal process.

The steps below assume the message router is an internal process on the primary server. To run the message router as an external process, peform steps 1-8 above on the primary server (instead of the message router server), then follow the steps below.

Repeat the following steps on all secondary servers.

  1. Ensure that the Responder Windows Service is not running on the secondary server.
  2. Browse to and open Miner.Responder.DataServices.exe.config. This file may be edited in an application such as Notepad.
  3. Look for the <wellknown> tags (within the <client> tags) and modify these so the secondary machine knows where to find the primary machine on which the Message Router functionality resides. By default, the url tag points to the localhost using a period (.). For example: "OS:.\private$\RxPrediction/PredictionServices.rem"

    Replace the period with the name of the primary server.

    Copy Code
    <client>
    <wellknown type="Miner.Responder.Shared.IPredictionServices, Miner.Responder.Shared" url="msmq://FormatName:DIRECT=OS:PrimaryServerName\private$\RxPrediction/PredictionServices.rem"/>
    <wellknown type="Miner.Responder.Shared.IArchiveServices, Miner.Responder.Shared" url="msmq://FormatName:DIRECT=OS:PrimaryServerName\private$\RxArchive/ArchiveServices.rem"/>
    <wellknown type="Miner.Responder.Shared.ILineDisplayService, Miner.Responder.Shared" url="msmq://FormatName:DIRECT=OS:PrimaryServerName\private$\LineDisplayServices/LineDisplayServices.rem" />
    </client>
    
         
    
  4. Next, look for the <channel> tag. You will need to add a "router" attribute to the <channel> tag.

    This is how it appears by default:

    Copy Code
         <channels>
              <channel ref="msmq" isServer="true" />
            </channels>
    
           
    
    Modify the XML to add the router attribute. Replace "PrimaryServerName" with the name of your Primary server.
    Copy Code
    <channels>
    <channel ref="msmq" isServer="true" router="FormatName:DIRECT=OS:PrimaryServerName" />
    </channels>
    
         
    
  5. Save and close Miner.Responder.DataServices.exe.config.
  6. Make the same changes to the appropriate configuration files if the secondary server is running Prediction, Line Display, and/or Archive Services
    • Prediction: modify Miner.Responder.PredictionServices.exe.config
    • Line Display: modify Miner.Responder.LineDisplayService.exe.config
    • Archive Services: modify Miner.Responder.ArchiveServices.exe.config
  7. Start the Responder Windows Service on the Secondary server.
  8. Open the Responder Service Configuration browser (link in the Start menu) and start the necessary business services (Data Services, Prediction, etc.).

 

 


Send Comment to ArcFMdocumentation@schneider-electric.com