Works fine for us, however we serve all content off a CDN, not off the cluster, and we only courier content and structure, never files (except media) so... Anything which the user didn't directly enter (ie, media) comes from source control, and is pushed to the stage and live servers manually.
I suggest you courier to a single node, and then use something in the background to sync the folders to the other nodes.
Courier supports the default load balancing supported by umbraco, so it ensures cache is reset on each instance, using the build-in load balancing in umbraco.
for files or anything beyond that, Courier doesn't do anything as that all depends on your specific setup
I have tested Courier in a load balanced environment (both using a web share and DFS) and I don't believe Courier works correctly as the Lucene Indexes are not kept in sync.
My setup:
I have an Authoring server, and two load balanced Production servers ( Production A + B) running DFS. Distributed calls are configured correctly for the two to communicate.
Umbraco works:
When I publish a page directly from Production A using the Umbraco admin then I use the site search on either Production A or B then I find the new page immediately. Distributed calls appear in the Log files.
Courier does not work:
When I publish a page from Authoring and then use Courier to publish it to Production A. I can see the page on both Production A and B. However the site search does NOT show the new page on Production B. Distributed calls do NOT appear in the Log files.
I believe the bug is within Courier and it does not correctly publish the pages on the target server - hence the distributed calls are not made.
I know the distributed calls aren't made as I checked the logs.
The question is how can I fix this and is anyone else experiencing this problem?
There has been added some high-level apis for handling these things a better cleaner, check the sample folder for courier on nightly.umbraco.com the ExtracionConsole sample app shows how you can push to a single target, but no reason why you can't do that to multiple targets
Still if its to solve a load-balancing issue, the solution would more likely be to push to a single instance and have that instance distribute files and database to the other instances, using a shared DB and have resources on a NAS (or sync)
Load Balanced Environments
Hi
Does anyone know how Courier 2.5 works in a load balanced environment?
Thanks
Aileen
Works fine for us, however we serve all content off a CDN, not off the cluster, and we only courier content and structure, never files (except media) so... Anything which the user didn't directly enter (ie, media) comes from source control, and is pushed to the stage and live servers manually.
I suggest you courier to a single node, and then use something in the background to sync the folders to the other nodes.
Courier supports the default load balancing supported by umbraco, so it ensures cache is reset on each instance, using the build-in load balancing in umbraco.
for files or anything beyond that, Courier doesn't do anything as that all depends on your specific setup
Hi Per,
I have tested Courier in a load balanced environment (both using a web share and DFS) and I don't believe Courier works correctly as the Lucene Indexes are not kept in sync.
My setup: I have an Authoring server, and two load balanced Production servers ( Production A + B) running DFS. Distributed calls are configured correctly for the two to communicate.
Umbraco works: When I publish a page directly from Production A using the Umbraco admin then I use the site search on either Production A or B then I find the new page immediately. Distributed calls appear in the Log files.
Courier does not work: When I publish a page from Authoring and then use Courier to publish it to Production A. I can see the page on both Production A and B. However the site search does NOT show the new page on Production B. Distributed calls do NOT appear in the Log files.
I believe the bug is within Courier and it does not correctly publish the pages on the target server - hence the distributed calls are not made. I know the distributed calls aren't made as I checked the logs.
The question is how can I fix this and is anyone else experiencing this problem?
Hi Paul,
I know this is 2 years old but we have the same issue. Did you ever find a workaround?
I've logged the issue: http://issues.umbraco.org/issue/COU-614
Thanks for the quick replies. We haven't setup load balancing yet so will take this into consideration.
Has anyone tried writing a customer provider that publishes to multiple endpoints.
I'd like to be able to publish to two CourierWebserviceRepositoryProvider's and two NetworkShareProvider's with a single transfer.
The interface is pretty well documented. It looks like it might be possible?
I tried creating my own RepositoryProvider but its a bit more complicated than I originally thought.
Instead I ended up using an aspx page with no code-behind. Just save it with a *.aspx extension and put in in the /umbraco folder of the site.
This is based on page 9 of the pdf documentation at http://our.umbraco.org/FileDownload?id=2759
Hi mike
There has been added some high-level apis for handling these things a better cleaner, check the sample folder for courier on nightly.umbraco.com the ExtracionConsole sample app shows how you can push to a single target, but no reason why you can't do that to multiple targets
Still if its to solve a load-balancing issue, the solution would more likely be to push to a single instance and have that instance distribute files and database to the other instances, using a shared DB and have resources on a NAS (or sync)
/per
is working on a reply...