Ektron supports a load-balanced environment, in which several servers share your Web site’s processing load. This feature is explained in Balancing the Load on Your Servers.
If your site uses load balancing, you can set up eSync so that, after one server in a load balance cluster is synchronized, the other servers are automatically synchronized. Note that if a separate database server is outside the load balance cluster (as shown below), eSync only synchronizes documents and files used by the search among the clustered servers. It does not touch the database.
Beginning with Ektron version 8.5, the load-balance chain of servers is updated automatically, and servers that are not available are removed. A typical load balanced cluster is below.
WARNING! Ektron’s eSync feature does not synchronize all databases in a SQL database cluster. If you have such a configuration, it is your responsibility to ensure that eSync updates all databases.
WARNING! In a load balanced environment, only update templates on the staging server. Do not update them on the production server and assume they will be synchronized with the staging server.
WARNING! Assume your load balanced cluster consists of 2 staging servers (S1 and S2) and 2 production servers (P1 and P2).
If you add/modify/delete a file on S1, to get the file to S2, you must run either a download sync on S2, or an upload sync on S1, or a bidirectional sync from either server. If you run a download sync on S2, you also need to run an upload sync to push the file to P2, which will then Load Balance with P1.
The best way to make sure that the added/modified/deleted file is changed on all servers is to initiate the sync from the server on which the file was changed. In this example, since you changed the file on S1, if you initiate a sync from S1, it will be automatically updated on S2, P1, and P2.
Prerequisites
Follow these steps to set up this capability.
C:\ProgramFiles\Ektron\EktronWindowsService40\Ektron.ASM.EktronServices40.exe.Config
.LoadBalanced
to 1 and save.You should be familiar with eSync security certificates before beginning this procedure. See Also: ManagingeSync Security Certificates
Assume the load balance cluster has 3 servers: mach1
, mach2
, and mach3
.
This procedure has 2 major parts.
In the first 9 steps, you copy mach1
’s security certificate files, then paste them into the same folder.
mach1
and generate security certificates. To do this, click the Windows Start button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator > right click and choose Run as Administrator.mach1
.mach1
, open the following folder: C:\ProgramFiles\Ektron\CMS400v8x\Utilities\Software\SecurityConfigurator
.mach1
folder: C:\Program Files\Ektron\EktronWindowsService40
.In the second part of this procedure, you
Ektron.ASM.EktronServices40.exe.config
filemach1
’s certificate’s key valuemach1
’s encoded value to themSo, when you finish, the affected part of the file looks like this:
<add key="mach1_SyncClient.cer" encodedValue="MIIB7TCCAVag.... <add key="mach2_SyncClient.cer" encodedValue="MIIB7TCCAVag.... <add key="mach3_SyncClient.cer" encodedValue="MIIB7TCCAVag....
NOTE: The encodedvalue
is abbreviated to fit the page.
C:\ProgramFiles\Ektron\CMS400v8x\Utilities\EWSUpdates\EktronWindowsService40\Ektron.ASM.EktronServices40.exe.config
<publickCertKeys>
element.mach1
, which looks something like this: <add key="mach1_SyncClient.cer" encodedValue="MIIB7TCCAVag....
NOTE: The encodedvalue
is abbreviated to fit the page.
<add key>
element, including the value.add key
value to mach
2_SyncClient.cer
.add key
value to mach
3_SyncClient.cer
.Ektron.ASM.EktronServices40.exe.config
file.<add key>
element.Ektron.ASM.EktronServices40.exe.config
file.mach1
’s file system, and the other showing the mach2
’s file system.mach1
window, open C:\Program Files\Ektron\EktronWindowsService40
.mach2
window, open the following folder: C:\Program Files\Ektron\EktronWindowsService40
.mach2
window, create a folder underneath the root folder. Name it Ektron Security Certificates.WARNING! Do not place it under the Web root folder, C:\inetpub\wwwroot
.
mach1
window, which is still open to the following folder: C:\Program Files\Ektron\EktronWindowsService40
.WARNING! Copy—do not move—the files from the mach1
folder.
mach2
folder you created in Step 7. Make sure there are no other security files in the folder. Next, you need to register and move the files to the correct folders. The Security Configurator screen does this.mach2
, click Windows Start button > All programs > Ektron > CMS400 v8x > Utilities > Security Configurator > right click and choose Run as Administrator.You set up and run eSync in a load balanced environment the same way you run it normally. See these sections for details.
If you want to use eSync in a multi-site environment, you must do so before the initial synchronization of a configuration. That is, you cannot set up a eSync configuration in a single-site environment and then later change to multi-site. You can set up a new configuration at any time.
To set up eSync in a multi-site environment:
WARNING! Back up your database before beginning this procedure!
NOTE: If you see the following error, The system cannot find the file specified, you must set up security certificates. See Also: ManagingeSync Security Certificates
WARNING! The first time you sync an Ektron Web site, all of its data is overwritten. Make sure that no important information resides on the production server before beginning the first sync.
Choose Certificate—If you selected a single server above, its name appears here. Proceed to the next step.
If you selected a domain or IP address above, click the drop-down arrow to view all servers whose client security certificates reside on this server. Then, select the server with which you want to set up an eSync relationship.
Running a Sync.) For synchronization direction, choose Running a Sync.
By default, if you sign on to a staging server then insert library items (images, quicklinks, and so on) into content, the path to those items includes the production server. For example, your server setup includes 2 multi-sites: sales.ektron.com and support.ektron.com.
NOTE: Multi-site names are defined in the site’s folder properties screen’s Production Domain field, as described in Step 3: Assign Multi-Site Capabilities in Ektron.
So, library links in the sales.ektron.com site’s content look like this: http://sales.ektron.com/template?id=id number
. However, you may wish to change library links so they refer to the staging server. This would help you verify that the linked items exist on the staging server.
To change library links to refer to your staging server:
From now on, when a user signs on to the staging server and works with library links, the links include the staging server instead of the production server.
The Web Alert feature enables Ektron to generate email for a list of registered users whenever new content appears on your site, or existing content is updated. For more information, see Administering Web Alerts.
In an eSync environment, you need to determine which servers send Web Alerts. For example, Web Alerts should probably not be generated when content is published on a staging server, but you would want them when content is published on a production server.
To determine if a server generates Web alerts, use the following property of each Web site’s web.config
file.
<
add key="ek_DisableWebAlerts" ..... />
Set the property’s value to true to suppress Web Alerts on a server.
Set the property’s value to false to generate Web Alerts to on a server.
Also, the server clock on the download side of the eSync relationship must be exactly the same time as or slightly ahead of the clock on the sending server.
When using eSync with an eCommerce site, you need to prevent orders from being processed on your staging server to prevent orders from being processed twice.
For example, a customer on your production site purchases a product. If the staging server and production server are synched before the credit card is processed, it might be charged twice: once from the production server and again from the staging server.
To prevent orders from being processed on your staging server, edit your staging site’s web.config
file and set the following property to true:
<add key="ek_ecom_OrderProcessingDisabled" value="true" />
When the property is set to true, you cannot process or edit orders from the Workarea’s View Order screen on the staging server. Also, if you try to create an order from the staging server’s Web site, you receive the following message.
“We're sorry, an error occurred while processing your request. Please try again later...”
It is important to note that all other eSync functions still work properly. For example, when you create catalog entries on a staging server and perform a sync, the entries are moved to the production server. The ek_ecom_OrderProcessingDisabled
key only affects the processing of orders.
When using eSync with Notifications, any new agents are not synched. This means that you must manually add new agents to each server in your configuration.
When the agent exists on all servers in your configuration, eSync keeps them updated. For example, assume a membership user logs into the production server and updates his profile’s Activities tab by changing the activities a custom agent will perform. eSync will sync those changes with the staging server.
See Also: Adding a Custom Agent; Notifications
When using eSync with an eCommerce site, you need to prevent orders from being processed on your staging server to prevent orders from being processed twice.
For example, a customer on your production site purchases a product. If the staging server and production server are synched before the credit card is processed, it might be charged twice: once from the production server and again from the staging server.
To prevent orders from being processed on your staging server, edit your staging site’s web.config
file and set the following property to true:
<add key="ek_ecom_OrderProcessingDisabled" value="true" />
When the property is set to true, you cannot process or edit orders from the Workarea’s View Order screen on the staging server. Also, if you try to create an order from the staging server’s Web site, you receive the following message.
“We're sorry, an error occurred while processing your request. Please try again later...”
It is important to note that all other eSync functions still work properly. For example, when you create catalog entries on a staging server and perform a sync, the entries are moved to the production server. The ek_ecom_OrderProcessingDisabled
key only affects the processing of orders.