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.
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?
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
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.
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"/>
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?