Arquitectura P2P entre servidores

Aldrin Martoq amartoq en dcc.uchile.cl
Dom Dic 12 00:05:59 CLST 2010


On Dec 11, 2010, at 6:58 PM, Julian Reyes Escrigas wrote:
> un servidor central que va a contener toda la información de X cantidad de locaciones, cada locación tiene su propio servidor donde solo se encuentra la información de su locación, cuando un cliente opera, este lo hace directamente sobre el servidor local, nunca sobre el central

OK.

> el servidor secundario es el que se conecta con el central (si existe conexión) para validar la información,

Para esto, debes crear un servicio en el servidor central. Puede ser SOAP o JSON como conversaban. Mi recomendación personal es REST con JSON o XML... en realidad, lo que te sea mas fácil con el framework en el que estás desarrollando (cakephp, codeigniter, symfony, etc...).


> si no hay conexión este simplemente lo deja para después.

Esto parece complicado y no trivial de hacerlo bien de buenas a primera... Ahí necesitas algún proceso que se encargue de "cuadrar" periódicamente... uff, un desastre.


> la idea es que periódicamente (aproximadamente cada mes) el servidor central va a confrontar toda la información con otros sistemas y las novedades son enviadas a cada servidor secundario (si existe la conexión).

Si es sólo datos (obviando el tema del servicio descrito arriba), tal vez podrías hacerlo a nivel de bases de datos con replicación.

http://www.postgresql.org/docs/9.0/static/different-replication-solutions.html



> alguien tiene idea de si existe algún servicio en especial que ayude con una tarea semejante y se esta se puede implementar en PHP, ya que es un entorno LAMP.

No, desconozco algo para LAMP... este tipo de cosas se resuelve en el mundo de apps empresariales con software muy complicado y que muy poca gente entiende... no te lo recomiendo.

Puedes hacer lo mismo con PHP usando los conceptos básicos de orientación a servicios. No es necesario que sea "perfecto", lo usual en este tipo de sistemas es que tienes uno o más sistemas que ya existen y los vas "modularizando" de a poco.



Aldrin Martoq
http://aldrin.martoq.cl/







Más información sobre la lista de distribución Linux