November Happy Hour will be moved to Thursday December 5th.

Remote events in Load Balancing

Vote:
 

Is it possible to run two load-balanced sites on the same web servers? The remote events passed between the web servers should not been read by the wrong site. 

In web.config the endpoints för client and service are configured like this

<endpoint name="RemoteEventServiceClientEndPoint" address="soap.udp://239.255.255.19:5000/RemoteEventService" binding="customBinding"
bindingConfiguration="RemoteEventsBinding" contract="EPiServer.Events.ServiceModel.IEventReplication"/>

<endpoint name="RemoteEventServiceEndPoint" contract="EPiServer.Events.ServiceModel.IEventReplication" binding="customBinding"
bindingConfiguration="RemoteEventsBinding" address="soap.udp://239.255.255.19:5000/RemoteEventService"/>

But how can you configure so that they only apply to a specific site?

#82250
Mar 10, 2014 8:28
Vote:
 

Analyzing UDP traffic should be "cheap" and I know that the siteId in episerver.config is always a parameter checked in the invalidation of cached data so you shouldn't have any issues between different sites in the same enviroment.

#82289
Mar 10, 2014 11:00
Vote:
 

Johan: Thanks you for your reply!

The sites today have the same SiteID in episerver.config because they are based on the same code but belonging to different enviroments - one for production and the other for verification. But then it should be sufficient to put a different name on the SiteID for one of the site?

#82301
Mar 10, 2014 13:37
Vote:
 

Different siteIds should be enough, yes.

Load balanced verification environments; That's going all-in :)
Since you are already on that level the best option might be to isolate UDP traffic for the environments on a network level instead. Changing siteId has some dependencies to the database and possibly some other places as well.

Another option could be to switch to net.tcp as described here, it will give you more control:
http://blog.nansen.com/2013/04/how-to-configure-episerver-load.html

#82302
Mar 10, 2014 14:26
Vote:
 

Ok, then I understand and you are right that change SiteID will affect other things as well. It does not sound like the right solution really. I'll look at TCP traffic as an alternative solution to UDP traffic.

Yes, the reason for running load balanced even in our verification environment is because we want to test such scenarios too. We have already experienced problems with ssl terminated at load balancer and need to have better control of it before doing production changes.

It's also expensive to put up a separate load-balanced environment for verification only. Therefore, we want to share the physical enviroment with production. The main subject for load balancing for us is not higher performance, it is to obtain higher availability.

#82306
Mar 10, 2014 14:58
Vote:
 

I do not know if I'm going wrong now. But I just put a different port on one endpoint and still running UDP multicast for both environments and it seems to work properly if I try to sniff the traffic with the program EPiServerRemoteEventslistener.exe. I still use the same SiteID for both site in order to avoid any errors with the same code base. Anyone know if this can become a problem for the remote events to work between the sites?

For production site:

<endpoint name="RemoteEventServiceClientEndPoint" address="soap.udp://239.255.255.19:5000/RemoteEventService" binding="customBinding"
bindingConfiguration="RemoteEventsBinding" contract="EPiServer.Events.ServiceModel.IEventReplication"/>

<endpoint name="RemoteEventServiceEndPoint" contract="EPiServer.Events.ServiceModel.IEventReplication" binding="customBinding"
bindingConfiguration="RemoteEventsBinding" address="soap.udp://239.255.255.19:5000/RemoteEventService"/>

For verification site:

<endpoint name="RemoteEventServiceClientEndPoint" address="soap.udp://239.255.255.19:5001/RemoteEventService" binding="customBinding"
bindingConfiguration="RemoteEventsBinding" contract="EPiServer.Events.ServiceModel.IEventReplication"/>

<endpoint name="RemoteEventServiceEndPoint" contract="EPiServer.Events.ServiceModel.IEventReplication" binding="customBinding"
bindingConfiguration="RemoteEventsBinding" address="soap.udp://239.255.255.19:5001/RemoteEventService"/>

 

#82317
Mar 10, 2014 17:38
This thread is locked and should be used for reference only. Please use the Episerver CMS 7 and earlier versions forum to open new discussions.
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.