single site - 2 servers - cloud files

Vote:
 

So We have 2 servers serving up x.com on box x y.com on box y

the files are sitting in the cloud so both boxes use the same files

we have a load balancer serving up beta.com

when we make a new page on x.com  it doesn't show up on the admin panel(cms edit) on y.com for a long time.  The page does show up on the front though.  How do I go about resolving this?

#181434
Edited, Aug 18, 2017 20:21
Vote:
 

Did you set up remote events between X and Y?

#181435
Aug 18, 2017 21:14
Vote:
 

No I did not. I'll look into it

is it this? From url http://world.episerver.com/documentation/Items/Developers-Guide/Episerver-CMS/9/Event-management/WCF-event-management/

<system.serviceModel>
...
    <services>
       <service name="[IIS web site name 1]/EPiServer.Events.Remote.EventReplication" 
                 behaviorConfiguration="*">
           <endpoint name="RemoteEventServiceEndPoint" 
                     contract="EPiServer.Events.ServiceModel.IEventReplication"
                     binding="*" address="*" />
       </service>
    </services>

       <service name="[IIS web site name 2]/EPiServer.Events.Remote.EventReplication" 
                 behaviorConfiguration="*">
           <endpoint name="RemoteEventServiceEndPoint" 
                     contract="EPiServer.Events.ServiceModel.IEventReplication"
                     binding="*" address="*" />
       </service>
    </services>
...
 </system.serviceModel>

#181436
Aug 18, 2017 21:42
Vote:
 

Yes.

So if server X has IP address 192.168.1.1. and server Y has IP address 192.182.1.2, and they both communicate with each other on port 5000, you should have

<services>
	<service name="EPiServer.Events.Remote.EventReplication">
	<endpoint
		name="RemoteEventServiceEndPoint"
		contract="EPiServer.Events.ServiceModel.IEventReplication"
		bindingConfiguration="RemoteEventsBinding"
		address="net.tcp://192.168.1.1:5000/RemoteEventService"
		binding="netTcpBinding" />
	</service>
</services>
<client>
<endpoint name="Y"
	address="net.tcp://192.168.1.2:5000/RemoteEventService"
	binding="netTcpBinding"
	bindingConfiguration="RemoteEventsBinding"
	contract="EPiServer.Events.ServiceModel.IEventReplication" />
</client>

On server X.

And 

<services>
	<service name="EPiServer.Events.Remote.EventReplication">
	<endpoint
		name="RemoteEventServiceEndPoint"
		contract="EPiServer.Events.ServiceModel.IEventReplication"
		bindingConfiguration="RemoteEventsBinding"
		address="net.tcp://192.168.1.2:5000/RemoteEventService"
		binding="netTcpBinding" />
	</service>
</services>
<client>
<endpoint name="X"
	address="net.tcp://192.168.1.1:5000/RemoteEventService"
	binding="netTcpBinding"
	bindingConfiguration="RemoteEventsBinding"
	contract="EPiServer.Events.ServiceModel.IEventReplication" />
</client>

On server Y.

Episerver cashes data for performance reasons. Remote events are used to notify the clients when data has changed so that they can invalidate the cache.

#181437
Aug 18, 2017 22:56
Vote:
 

hey Dejan

The webconfig is shared between x and y.  literally both boxes point to the same file share to run their own instances of the website.  Is this not a good way to do the deployment?

#181438
Edited, Aug 18, 2017 23:18
Vote:
 

You can have several web servers that use the same database and blob storage in a load-balanced environment, but web.config files cannot be identical because you need to have different remote events settings for each one of them.

Server X needs to send remote events to server Y. And server Y needs to send remote events to server X.

If you add additional server, Z, then

X should send remote events to Y and Z.

Y should send remote events to X and Z

and so on...

You would typically solve this using config transformations during deploy.

#181439
Aug 18, 2017 23:52
* 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.