The "entities" of a Dreamwidth setup
May. 16th, 2011 09:16 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Hi,
Seeing how complex the deployment of applications developed in various corporations I am doing a little research to see how open source application manage the complexity. For that I was looking for complex (in terms of deployment and development environment) applications to see how they manage the task and how they test their system. Dreamwidth seems like a good case so I jumped on the IRC channel where
pauamma gave me a quick list of the entities. Then I was volunteered to raise the issue here to get further clarifications.
So here is the list I got:
I found the Production Notes to be also a good source for information but I'd appreciate to get further details if the list is not complete. What would be very interesting to me is to understand what are the responsibilities of the various entities in the system. What kind of data is kept in the various databases. Which entities can be duplicated if load requires it and how the jobs can be divided?
Seeing how complex the deployment of applications developed in various corporations I am doing a little research to see how open source application manage the complexity. For that I was looking for complex (in terms of deployment and development environment) applications to see how they manage the task and how they test their system. Dreamwidth seems like a good case so I jumped on the IRC channel where
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
So here is the list I got:
- perlbal on the load balancer(s)
- webservers running Apache+modperl+DW webapp code
- database cluster for global data
- several (currently 3) database clusters for per-user data. Each cluster holds the same data for different users
- Gearman servers, to offload some web-synchronous compute-intensive tasks
- TheSchwartz server(s) for asynchronous or non-web tasks.
- MogileFS servers for blobby data not stored in a SQL database for various reasons.
- Postfix
I found the Production Notes to be also a good source for information but I'd appreciate to get further details if the list is not complete. What would be very interesting to me is to understand what are the responsibilities of the various entities in the system. What kind of data is kept in the various databases. Which entities can be duplicated if load requires it and how the jobs can be divided?