Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Conectar-se a uma instância de cluster sharded usando um URI de string de conexão

Última atualização: Jun 26, 2026

As instâncias de cluster sharded do ApsaraDB for MongoDB fornecem um endpoint para cada nó mongos. Conecte-se a qualquer nó mongos para acessar os bancos de dados. Use um URI de string de conexão para obter balanceamento de carga e alta disponibilidade.

Informações básicas

Sharded cluster architecture

Um cluster sharded do MongoDB distribui dados entre vários shards para garantir alta escalabilidade. Um config server armazena os metadados do cluster, enquanto os nós mongos atuam como pontos de entrada da aplicação, leem informações de roteamento e encaminham solicitações ao shard apropriado.

  • O acesso a um nó mongos é semelhante ao acesso a um único processo mongod.

  • Todos os nós mongos são equivalentes. Acesse o cluster sharded por meio de um ou mais nós mongos.

  • Os nós mongos não mantêm estado e permitem dimensionamento horizontal. A capacidade total do serviço corresponde ao menor valor entre a capacidade total dos shards e a capacidade total dos nós mongos.

  • Distribua as solicitações da aplicação uniformemente entre vários nós mongos.

Sobre URIs de string de conexão

Para conectar-se a uma instância de cluster sharded, compreenda o formato de URI de String de Conexão do MongoDB. Todos os drivers oficiais do MongoDB suportam esse formato.

Exemplo de URI de string de conexão:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Descrição dos parâmetros:

  • mongodb://: Prefixo que identifica o texto como um URI de string de conexão.

  • username:password@: Nome de usuário e senha usados para fazer login no banco de dados.

  • hostX:portX: Endereços dos nós mongos.

  • /database: Banco de dados de autenticação.

  • ?options: Opções adicionais de conexão.

Conectar-se a uma instância de cluster sharded

O ApsaraDB for MongoDB permite conectar-se a uma instância de cluster sharded por meio de um URI de string de conexão, o que possibilita balanceamento automático de carga e alta disponibilidade.

  1. Obtenha o URI de string de conexão da instância de cluster sharded. Para mais informações, consulte Conectar-se a uma instância de cluster sharded.

  2. Use o URI de string de conexão na sua aplicação para conectar-se à instância. Para mais detalhes, veja Conectar-se a uma instância de cluster sharded usando código.

    O exemplo Java a seguir conecta-se ao banco de dados admin usando a conta de banco de dados test:

    String user = "test";
    String password = "MongoDB****";
    String myURI = "mongodb://" + user + ":" + password + "@s-bp1c04c07823****.mongodb.rds.aliyuncs.com:3717,s-bp1500549e0b****.mongodb.rds.aliyuncs.com:3717/admin";
    MongoClient mongoClient = new MongoClient(new MongoClientURI(myURI));

    Com esse método, o cliente distribui automaticamente as solicitações entre vários nós mongos para balancear a carga. Se o URI contiver dois ou mais nós mongos e um deles falhar, o cliente executará failover automaticamente para os nós saudáveis restantes.

Se houver múltiplos nós mongos, agrupe-os por aplicação para isolar o acesso. Por exemplo, com quatro nós mongos e duas aplicações, configure a Aplicação A para usar os nós mongos 1 e 2, enquanto a Aplicação B usa os nós mongos 3 e 4. Especifique apenas os endereços mongos correspondentes no URI de cada aplicação.

Nota

Os nós mongos acessados pelas aplicações ficam isolados entre si, mas os shards de back-end permanecem compartilhados.

Parâmetros comuns de conexão

  • Implementar separação de leitura e escrita

    Adicione readPreference=secondaryPreferred às opções do URI de string de conexão para direcionar as solicitações de leitura primeiramente aos nós secundários.

    Exemplo:

    A conta do banco de dados é test e o banco de dados é admin.

    mongodb://test:****@s-bp10fb1cf399****.mongodb.rds.aliyuncs.com:3717,s-bp10f49cdf5e****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondaryPreferred
  • Limitar o número de conexões

    Inclua maxPoolSize=xx nas opções do URI de string de conexão para restringir o tamanho do pool de conexões por cliente a xx.

    No exemplo abaixo, o tamanho do pool de conexões é definido como 100. A conta do banco de dados é test e o banco de dados é admin:

    mongodb://test:****@s-bp10fb1cf399****.mongodb.rds.aliyuncs.com:3717,s-bp10f49cdf5e****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondaryPreferred&maxpoolsize=100
  • Garantir confirmação de gravação pela maioria dos nós

    Acrescente w=majority às opções do URI de string de conexão para exigir que a maioria dos nós confirme as operações de gravação antes de serem consideradas bem-sucedidas.

    Exemplo:

    A conta do banco de dados é test e o banco de dados é admin.

    mongodb://test:****@s-bp10fb1cf399****.mongodb.rds.aliyuncs.com:3717,s-bp10f49cdf5e****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondaryPreferred&maxpoolsize=100&w=majority