Redis, distribuído ou não?
1 answers
Uma única instância pode replicar a sua actividade a instâncias de escravos (que são, portanto, eventualmente, consistentes com o mestre). A aplicação pode optar por se conectar sempre com o mestre para ler e escrever. Nesse caso, você pode obter um sistema de CP. Ele também pode escrever no mestre, e ler de todas as instâncias (incluindo escravos), para que você possa obter um sistema AP. Eu disse "pode", porque requer algum trabalho significativo para construir tais sistemas em cima da Redis.
Podes misturar sharding. e replicação mestre / escravo para construir o sistema distribuído que você precisa. No entanto, o Redis só fornece Tijolos básicos para fazer isso. Especialmente, ele oferece muito pouco para lidar com a resiliência e HA (e abordar o P no teorema da CAP). IMO, Redis sentinel por si só não é suficiente para suportar uma configuração HA Redis, uma vez que abrange apenas a gestão de funções. Você precisa complementá-lo com um gerenciador de recursos, e colocar um monte de lógica no cliente/Aplicação. Há uma coisa em andamento. projeto chamado Redis Cluster , cujo objetivo é fornecer um sistema distribuído minimalista pronto a usar, mas ainda falta de muitas coisas, e ainda não é utilizável para fins de produção.Se você precisa de uma loja distribuída fora da prateleira, Redis provavelmente não é uma boa opção. Você será melhor servido por Cassandra, Riak, MongoDB, Couchbase, Aerospike, MySQL Cluster, Oracle NoSQL, etc ... No entanto, se você quiser construir o seu próprio sistema especializado, Redis é um excelente componente para construir.