Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Ricardo Munoz
El 12 de diciembre de 2010 13:35, Julian
julian.reyes.escri...@gmail.comescribió:

 y donde podria encontrar algo de dcumentacion sobre el proceso de repliegue
 de informacion


creo que aun falta que indiques mas datos acerca de que es lo que realmente
necesitas hacer, ya que lo del servidor central vs. servidores secundarios
suena a una solucion ya encaminada.

si todos los servidores estan fisicamente apartados, y necesitas sincronizar
sus datos, una solucion podria ser algo tan simple como que una vez al mes
se envien (por SSH) los nuevos datos desde los servidores secundarios en
archivos de texto y estos luego son cargados en el servidor central, a su
vez desde el servidor central se envian sus nuevos datos a los servidores
secundarios tambien mediante archivos de texto.

si te quieres complicar con algo mas avanzado puedes revisar el siguiente
articulo [1] acerca de como implementar la replicacion circular en MySQL.
posiblemente encuentres una guia similar para Postgres, pero insisto que
antes deberias analizar bien que es lo que realmente necesitas y buscar la
solucion mas simple.

[1] http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html

-- 
Ricardo Mun~oz A.
http://www.tux.cl


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Julian Reyes Escrigas

 te comento es una aplicacion que va a funcionar en uno de los departamentos de 
mi pais, donde se va recolectar información madiante digitación de unas 
encuentas, pero obviamente una persona puede ser encuestada en un lugar 
distinto y luego encuentada en otro momento en otra ciudad creando una 
duplicidad que es lo que quieren evitar con este sistema. 


se sugirio que el sistema estuviera totalmente centralizado, es la mejor 
opcion, pero hay municipios (ciudades), que por X o Y motivo pueden o tiene 
problemas de conectividad, y necesitan que el trabajo no se suspenda por falta 
de internet, en otras palabras desean la maxima disponibilidad posible.


las personas que plantearon los requisitos estoy completamente seguro que no 
tiene las minima idea de lo que solicitaron en los terminos del contrato pero 
el contrato debe cumplir a cabalidad lo que se exige o al menos una solucion 
aproximada porque si no se incumpliria en el mismo.


vuelvo y se que las bases de datos se pueden poner a trabajar de una manera que 
cada servidor se conumique con los demas, pero estoy seguro que este tipo de 
configuracion son para que siempre tengan conexion.


digamos que la solucion que tengo en mente hasta el momento es la siguiente




servidor secundario
1. la persona trabaja sobre un servidor secundario
2. al momento de procesar la informacion el intenta comunicar al servidor 
central si no hay conexion se guardan los cambios como si se tratase de una CVS.
3. una tarea programada de cada 15 minutos (por ejemplo) revisa si existen 
datos que sincronizar si existe conexion los sincroniza


servidor central
1. el servidor central recibe peticiones de un servidor secundario hace 
validaciones a los datos y regresa una novedad de dicho registro
2. si no existe conexion con el servidor secundario guarda las respuesta en 
algun lugar 
3. si existe una confrontacion de informacion con otros sistemas el servidor 
genera las novedades de cada servidor secundario
4. una tarea programa de cada 15 minutos (por ejemplo) revisa que exista 
conexion entre el y los servidores secundarios si existe envia las novedades a 
quien corresponda




pues mirandolo de este modo se utilizara algun protocolo para que una tarea 
programa (cron) envie la informacion cuando exista conexion, el resto simple 
aplicaciones, la diferencia es que el servidor principal seria nada mas web 
services para los demas servidores.


yo tengo esta idea pero me gustaria conocer cuales serian esos metodos de 
comunicacion como web services escuche una recomendacion de REST de alguien y 
si estuve mirandola como la solucion viable, tamiben escuche algo con protocolo 
torrent, me llama mas la atencion ya que el torrent puede tener las conexiones 
cifradas y ademas en caso de que la conexion se caiga en plena transferencia no 
se pierde los transferido ya que una vez se haga la confrontacion pueden llegar 
a ser grandes cantidades de datos las tranferidas




Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Ricardo Munoz
El 13 de diciembre de 2010 11:40, Julian Reyes Escrigas 
julian.reyes.escri...@gmail.com escribió:

[...]

digamos que la solucion que tengo en mente hasta el momento es la siguiente




 servidor secundario
 1. la persona trabaja sobre un servidor secundario
 2. al momento de procesar la informacion el intenta comunicar al servidor
 central si no hay conexion se guardan los cambios como si se tratase de una
 CVS.
 3. una tarea programada de cada 15 minutos (por ejemplo) revisa si existen
 datos que sincronizar si existe conexion los sincroniza


 servidor central
 1. el servidor central recibe peticiones de un servidor secundario hace
 validaciones a los datos y regresa una novedad de dicho registro
 2. si no existe conexion con el servidor secundario guarda las respuesta en
 algun lugar
 3. si existe una confrontacion de informacion con otros sistemas el
 servidor genera las novedades de cada servidor secundario
 4. una tarea programa de cada 15 minutos (por ejemplo) revisa que exista
 conexion entre el y los servidores secundarios si existe envia las novedades
 a quien corresponda


en tu mail original decias que la sincronizacion debia hacerse una vez al
mes... ahora indicas que deberia ser cada 15 minutos?

-- 
Ricardo Mun~oz A.
http://www.tux.cl


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Julian Reyes Escrigas

 Ricardo te has confundido 


te explico en el mail inicial escribi que una vez al mes el servidor central va 
a tener una confrontacion de la informacion de la base de datos con la base ded 
atos de otros sistemas


pero aparte de eso los usuarios van a alimentar los servidores secundarios que 
estos deben a su vez alimentar el principal, es logico que la informacion de 
los servidores secundarios deben llegar en algun momento al principal de esto 
debe ser lo mas pronto posible


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Ricardo Munoz
El 13 de diciembre de 2010 12:05, Julian Reyes Escrigas 
julian.reyes.escri...@gmail.com escribió:


  Ricardo te has confundido


 te explico en el mail inicial escribi que una vez al mes el servidor
 central va a tener una confrontacion de la informacion de la base de datos
 con la base ded atos de otros sistemas


 pero aparte de eso los usuarios van a alimentar los servidores secundarios
 que estos deben a su vez alimentar el principal, es logico que la
 informacion de los servidores secundarios deben llegar en algun momento al
 principal de esto debe ser lo mas pronto posible


hay una expresion llamada aplicar poder de sintesis que hubiera sido bueno
aplicar en tu thread... ;)

creo que una solucion simple y que no requiera configurar/implementar
replicacion de MySQL o Postgres seria, y tal como ya lo mencionaron, el uso
de webservices (mediante HTTPS). SOAP o REST da casi lo mismo si el servidor
y los clientes los implementaras tu mismo usando el mismo lenguaje (PHP).

-- 
Ricardo Mun~oz A.
http://www.tux.cl


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Gonzalo Diaz Cruz
En vez de pensar en cocinar cosas... ¿no será mejor probar alguna de estas?:

http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
No he probado nunca algo así, pero suena como una solución a este problema.

-- 
~~~
Atentamente, Gonzalo Díaz Cruz
Estudiante Ingeniería de Ejecución en Computación e Informática
Universidad de Santiago de Chile
~~~
http://card.ly/gon
http://blog.gon.cl/
http://twitter.com/sir_gon
http://flickr.com/photos/sir_gon


Re: Arquitectura P2P entre servidores

2010-12-13 Por tema Julian Reyes Escrigas

 Gonzalo
He leido las soluciones basadas en sistema de base de datos distrbuidas y no 
pienso que sea la solución a pesar de que los servidores tienen en comun datos 
se necesitan realizar datos que sean a ser tratados con PHP por lo que no 
intersa como solución la comunica directa de las bases de datos sino mas bien 
la comunicación entre las aplicaciones de una manera que se garantice que en 
algún momento la información va a ser transferida, sea en el momento de ingreso 
o luego cuando exista conexión.




On lunes 13 de diciembre de 2010 at 11:16, Gonzalo Diaz Cruz wrote:

 En vez de pensar en cocinar cosas... ¿no será mejor probar alguna de estas?:
 
 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
 http://es.wikipedia.org/wiki/Bases_de_datos_distribuidas
 No he probado nunca algo así, pero suena como una solución a este problema.
 
 -- 
 ~~~
 Atentamente, Gonzalo Díaz Cruz
 Estudiante Ingeniería de Ejecución en Computación e Informática
 Universidad de Santiago de Chile
 ~~~
 http://card.ly/gon
 http://blog.gon.cl/
 http://twitter.com/sir_gon
 http://flickr.com/photos/sir_gon