Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiple deployers single Content Delivery database (Broker DB)

Tags:

tridion

In the publishing scenario I have, we have multiple deployers pushing content to both file system and database (broker). Pages and Binaries are put on the file system, everything else in the Broker. We have one of the deployers putting the content into the database. Is this the recommended best practice?

If the storage configurations in all deployers also put the content into the database, how does Tridion handle this? Could this cause duplicate entries, locking failures etc?

I'm afraid at the time of writing I don't have access to an environment to test how this would work.

like image 878
johnwinter Avatar asked Feb 27 '12 15:02

johnwinter


2 Answers

SDL best practice is to have a one-to-one relationship between a deployer and a publication; that means so long as two deployers do not publish the same content (from the same publication) then they will not collide providing, if a file system, there is separation between the deployed sites e.g. www/pub1 & www/pub2.

Your explanation of your scenario needs some additional information to make it complete but it sounds most likely that there are multiple broker databases (albeit hosted on a single database server). This is the most common setup when dealing with multiple file systems on webservers, combined with a single database server.

I personally do not like this set up as I think it would be better to host file system content in a shared location & share single DB. Or better still deploy everything to the database and uses something like DD4T/CWA.

like image 106
Julian Wraith Avatar answered Sep 19 '22 04:09

Julian Wraith


I have seen (and even recommended based on customer limitations) similar configurations where you have multiple deployers configured as destinations of a given target.

Only one of the deployers can write to the database for the same transaction, otherwise you'll have concurrency issues. So one deployer writes to the database, while all others write to the file system.

All brokers/web applications are configured to read from the database.

This solves the issue of deploying to multiple servers and/or data centers where using a shared file system (preferred approach) is not feasible - be it for cost or any other reason).

In short - not a best practice, but it is known to work.

like image 35
Nuno Linhares Avatar answered Sep 22 '22 04:09

Nuno Linhares