| |||
hdrv ... Está muy feo subir mensajes de esa forma .. si no obtienes respuestas tal vez es por qué nadie sabe del tema o bien no aportastes los suficientes datos o incluso estás en el foro equivocado. Por mi parte desconozcos esos detalles sober Apache y demás en sistemas distribuidos, pero en forosdelweb.com disponemos del foro "Servidores web" que sería lo apropiado para esta pregunta y la cual procedo a moverla a dicho foro. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Hmm, voy a dar mi opinion: Un sistema distribuido como dice BrujoNick, tiene que verse como una sola entidad, pero no precisamente como lo plantea. Hay 2 conceptos que se estan mezclando: Modelo Cliente/Servidor y arquitectura distribuida. Cliente servidor se basa en un modelo de proveedores de datos y servidores de datos, cada usuario actua como uno u otro segun las necesidades, que es el concepto de HTTP/WEB, PHP tradicional (un cliente pide informacion, un servidor se la proporciona). El modelo distribuido consiste en que varios servicios se vean como uso solo, en este caso se me ocurre el caso del Balanceo de cargas que intento cvds hace poco para aligerar la carga; varias maquinas respondiendo como una sola. O perfectamente el caso del supermercado en el concepto de que todas las BD se vean como una sola, sin necesidad de especificar "busco en A, ahora en B". Ahora a la pregunta incial de hdrv, eso depende mas del Apache, que es el servidor de HTTP que de PHP (que se limita a hacer conexiones), si lo que deseas es balanceo de cargas. Aunque la solucion tradicional es dividir en 2 maquinas (una Apache y otra con la DB, que es un simple cliente/servidor). Respecto a la base de datos.. yo no usaria MySQL, existen bases de datos diseñadas con el concepto de cluster/replicacion/dataware housing MUCHO mas solido (como Oracle, SQL Server, Postre, etc). Lo malo del asunto es que nunca lo he realizado (salvo lo del cluster y el DWH de SQL Server) nada de lo que te platico, solo son conceptos teoricos y reflexionados.
__________________ Friedrich Nietzsche |
| |||
Cita: Mensaje Original por BrujoNic Huy.... Yo creo que eso de Sistemas distribuidos en aplicaciones WEB, pues implicitamente se hace. ¿Porqué creo eso? porque los clientes pueden estar en cualquier lugar (internos o externos). Pueden accesar su información en forma transparente sin darse cuenta en realidad cómo se almacena. Cuando vi el concepto de Sistemas Distribuidos, ponían como ejemplo las BD distribuidas donde podrían haber varias BD y verse como si fuera una sola. Poniendolo como ejemplo en Web, podríamos decir que tengo una aplicación de una cadena de supermercados donde cada uno tiene su propia BD de productos. Si uno entra a realizar compras virtuales, uno puede decir donde está ubicado para ubicar el supermercado de esa cadena más cercano y realizar las compras para luego le sean enviadas o ir solo a retirarlos. Al realizar la selección de productos, la aplicación web debe ser lo más "inteligente" o bien diseñada para que realice la búsqueda en la BD local de ese super pero si no hay, realizar la búsqueda en el siguiente super más cercano y seleccionarlo (el cliente no sabe nada de esto) y colocando una advertencia al finalizar la venta para que el otro supermercado envíe el producto para completar la compra. No se si te estoy enredando pero la idea es esa. Información distribuida que se ve como una sola. Con PHP se puden manejar varias conexiones de red las cuales pasarían a ser la localización de todas las BD, o la otra opción es tener una BD maestra de inventario central con todos los productos y la forma en que estan distribuidos en los supermercados. Ahi se va a hacer el rebajo de inventario pero la contabilidad se va a hacer local por cada supermercado quedando el libro mayor en la BD principal. Todo es un juego, si mal interpreté tu pregunta, me avisas y si me estoy enfocando a lo que si necesitas, pues me alegro pero si que te "rajaste, tiraste" (hiciste una pregunta compleja) |
| |||
Muchas gracias BrujoNic, su respuesta es la que más se adapta a los requerimientos del proyecto. lo que tenemos que hacer es un sistema POS con herramientas web de manera que cuando se caiga la red en el nodo principal, exista replicas en cada punto de venta las cuales operen localmente mientras se restablece la conexión entre los servidores maestro y esclavo. Agradezco otros aportes adicionales a esta proyecto. |
| |||
Cita: Mensaje Original por Mithrandir Hmm, voy a dar mi opinion: Un sistema distribuido como dice BrujoNick, tiene que verse como una sola entidad, pero no precisamente como lo plantea. Hay 2 conceptos que se estan mezclando: Modelo Cliente/Servidor y arquitectura distribuida. Cliente servidor se basa en un modelo de proveedores de datos y servidores de datos, cada usuario actua como uno u otro segun las necesidades, que es el concepto de HTTP/WEB, PHP tradicional (un cliente pide informacion, un servidor se la proporciona). El modelo distribuido consiste en que varios servicios se vean como uso solo, en este caso se me ocurre el caso del Balanceo de cargas que intento cvds hace poco para aligerar la carga; varias maquinas respondiendo como una sola. O perfectamente el caso del supermercado en el concepto de que todas las BD se vean como una sola, sin necesidad de especificar "busco en A, ahora en B". Ahora a la pregunta incial de hdrv, eso depende mas del Apache, que es el servidor de HTTP que de PHP (que se limita a hacer conexiones), si lo que deseas es balanceo de cargas. Aunque la solucion tradicional es dividir en 2 maquinas (una Apache y otra con la DB, que es un simple cliente/servidor). Respecto a la base de datos.. yo no usaria MySQL, existen bases de datos diseñadas con el concepto de cluster/replicacion/dataware housing MUCHO mas solido (como Oracle, SQL Server, Postre, etc). Lo malo del asunto es que nunca lo he realizado (salvo lo del cluster y el DWH de SQL Server) nada de lo que te platico, solo son conceptos teoricos y reflexionados. |
| |||
Mithrandir tiene toda la razón, sin embargo, mysql maneja la replicación, con este principio, queremos "replicar " la plataforma web de nuestra empresa con el sistema POS ya montado en los los puntos de venta que tengan nuestros clientes, de manera que ya la información no quede centralizada en nuestro servidor y funcionen autónoma y localmente en caso de fallo de conexión. Con base en ello, qué sugerencias tiene para este proyecto |
| ||||
Aunque MySQL ya tenga soporte de replicacion es algo recientemente soportado en MySQL. Yo NO confiaria los datos de un entorno de produccion a MySQL. Te repito que hay bases mas solidas y robustas, puesto que MySQL simplemente no esta diseñado para hacer eso, y ahora que lo hace me parece algo como un "parche". No es que no crea que MySQL no es bueno, es simplemente que no fue diseñado para ello. Si te interesan las opciones open source creo que PostgreSQL o Interbase (ahora es abierto) son mejor alternativa en este caso.
__________________ Friedrich Nietzsche |
| ||||
Estoy de acuerdo con Mithrandir pero agregando otra opción de BD opensource FIREBIRD.
__________________ NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL |
| |||
Estoy analizando lo de la base de datos. Cualquier duda o aclaración la estaré dando en el foro de base de datos. Cambiando un poquito de tema, cómo creen que apache se configura para este tipo de arquitectura. y, Qué relación tiene el concepto de Middleware con Apache?. (Disculpen mi inglés). Gracias |