As we have many software architecture patterns available like peer-to-peer, client server, Observer and a lot more, which one does Dropbox uses ? and why it has selected that specific architecture? Please list out its pros and cons as i am unable to find much info on these topics.