es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Redis Cache: El mejor modo a elegir cuando varias aplicaciones vayan a escribir/leer los datos.

Tenemos múltiples aplicaciones (aproximadamente 500) alojadas en diferentes servidores (IIS). Actualmente se utiliza .Net Enterprise Library (en memoria) para fines de caché. Sin embargo, esto representa una carga adicional para los servidores de aplicaciones cuando la caché crece. Por lo tanto, tenemos un plan para mantener una caché distribuida utilizando Redis.

Requisito: Varias aplicaciones escribirían/leerían los datos en/de la caché de Redis. Sin embargo, nos gustaría mantener los datos de cada aplicación por separado. De esta manera, una aplicación ruidosa no tendría un impacto en las otras aplicaciones. Además, aumentaría el rendimiento de búsqueda de datos cuando están segregados.

Redis permite diferentes soluciones (modos) como Standalone, Sentinel y Cluster.

Creo que el modo ‘Standalone’ funcionaría de la siguiente manera. En un servidor Redis, habría una instancia de Redis donde se puede crear una base de datos. Con este modo, los datos de múltiples aplicaciones se almacenarían en la misma base de datos. Esto puede no permitirnos almacenar los datos a nivel de aplicación. Aunque podemos usar los espacios de nombres (prefijo de clave) para identificar los datos específicos de la aplicación, el creciente número de aplicaciones y datos tendría un impacto en la búsqueda de claves desde la aplicación. Además, dado que es de un solo subproceso, se espera que haya un impacto en las operaciones durante las horas pico.

Teniendo en cuenta los requisitos anteriores, incluida la escalabilidad y alta disponibilidad, por favor sugiera el mejor modo a seguir.

P.D., Instalaremos Redis en un servidor dedicado separado del servidor de aplicaciones.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Basándose en los requisitos mencionados, el mejor modo a utilizar sería el modo de clúster de Redis. El modo de clúster de Redis es un modo distribuido que permite la escalabilidad horizontal, alta disponibilidad (mediante la replicación de datos en los nodos del clúster) y mejor rendimiento a través de la ejecución en paralelo de operaciones.

    En el modo de clúster de Redis, los datos de cada aplicación pueden almacenarse en un fragmento separado (un subconjunto de nodos del clúster que almacena una partición de los datos), lo que permite una mejor segregación y mejor rendimiento en las búsquedas. Además, el modo de clúster de Redis admite un modelo multi-hilo, lo que le permite manejar cargas y solicitudes altas de múltiples aplicaciones simultáneamente.

    Además, el modo de clúster de Redis también proporciona tolerancia a fallos incorporada y redistribución automática de datos en caso de fallos de los nodos o reequilibrio, asegurando alta disponibilidad y escalabilidad.

    Por lo tanto, para los requisitos dados de múltiples aplicaciones con datos separados, escalabilidad, alta disponibilidad y mejor rendimiento, el modo de clúster de Redis sería la solución más adecuada.

Comments are closed.