Hoje estamos lançando uma versão de acompanhamento para 2.1.0 e 2.1.1 que inclui suporte para Multidimensional Scaling (MDS) para o Couchbase Server 4.0 Beta e uma infinidade de correções de bugs! Neste post, explicarei o que é o MDS e por que você vai querer aproveitá-lo com o Couchbase Server 4.0! Observe que o 2.1.3 é o 2.1.2 com uma única correção de bug; se você estiver usando o 2.1.2, recomendo enfaticamente que atualize para o 2.1.3!
Escala multidimensional (MDS)
O dimensionamento multidimensional é um novo recurso do Couchbase Server 4 que permite que você dimensione o cluster para fora e para cima.
Antes da versão 4.0, os serviços eram dimensionados de forma homogênea em todo o servidor. Agora, é possível especificar que nós específicos sejam, por exemplo, um nó de consulta ou um nó de dados ou um índice (ou ambos ou todos os três, muitas opções) e, em seguida, nos nós em que é necessária mais CPU, esses nós podem ser dimensionados com hardware mais robusto. Por outro lado, se você quiser dimensionar seus nós de dados com hardware mais barato, também poderá fazer isso facilmente. É um ótimo recurso para otimizar seu cluster para cargas de trabalho específicas.
Para que os aplicativos tirem proveito disso, o cliente precisa estar ciente de quais nós são designados para consulta (N1QL) e quais nós são responsáveis pelos serviços, como CRUD de chave/valor (nós de dados). Nesta versão, oferecemos suporte para MDS dividindo os nós em coleções específicas dedicadas a uma tarefa específica (dados, índice, consulta etc.). Do ponto de vista externo, não há diferença; no entanto, internamente, somente os clientes que têm conhecimento de "serviço" funcionarão com um cluster 4.0. Para fins de compatibilidade com versões anteriores, no entanto, esta (e futuras versões) do SDK continuará funcionando com o Couchbase Server 3.0 e 2.5.
Correções de bugs para a versão 2.1.3
- [NCBC-932] - BodyLength é zero quando o buffer de recepção tenta ser lido a partir dele
Correções de bugs, tarefas e melhorias na versão 2.1.2
Tarefa técnica
- [NCBC-901] - Tornar as implementações do IServer cientes dos serviços definidos pelo NodesExt
- [NCBC-902] - Tornar a seleção do servidor "consciente do serviço"
- [NCBC-903] - Garantir que as solicitações de k/v para buckets do memcached usem nós de dados
- [NCBC-904] - Retorna o erro ou a exceção correta quando a operação é tentada em um nó que não oferece suporte ao serviço
Bug
- [NCBC-823] - IndexOutOfRangeException durante o failover com o .NET SDK 2.0 .NET SDK
- [NCBC-886] - Cliente Couchbase retorna documentos errados
- [NCBC-895] - O BufferAllocator é criado por conexão
- [NCBC-908] - Correção do vazamento de conexão no descarte do bucket do Memcached
- [NCBC-911] - Bug de documentação em IViewQuery.ConnectionTimeout
- [NCBC-912] - O cliente tenta desserializar o corpo do memcached quando ele está vazio
- [NCBC-913] - O SDK afirma incorretamente que o heartbeat do nó inativo é de 1.000 segundos
- [NCBC-917] - Erro de coleção modificada durante operação em massa
- [NCBC-918] - A taxa de transferência não é restaurada com o rb2out no bucket do memcached
- [NCBC-924] - O padrão da porta é 0 quando o NodeExt não é encontrado no mapa do cluster
Melhoria
- [NCBC-891] - Atualize Common.Logging para a versão 3.1
- [NCBC-899] - Alterar o valor padrão de MaxAcquireIterationCount e adicionar Delay
- [NCBC-919] - Configuração do pool de conexão global para app.config
Novo recurso
- [NCBC-833] - Adicionar suporte para nodesext para o serviço n1ql para o CB 4.0 Beta
Tarefa
- [NCBC-922] - Recebendo none(0xffffffff) como status de resposta durante o failover
Como obter o SDK do Couchbase .NET
O SDK está disponível para download diretamente, por meio do NuGet, ou clonando e extraindo o repositório do Github:
- Faça o download dos binários aqui.
- O pacote NuGet pode ser encontrado aqui.
- O repositório do Github é aqui.