Para los comandos Atlas CLI que utiliza para implementar y gestionar clusters Atlas en la nube, puede configurar cómo el cluster gestiona el escalado de recursos utilizando el --autoScalingMode Opción. Puedes utilizar esta opción para los siguientes comandos para especificar si las particiones del clúster escalan juntos o de manera independiente:
atlas-deployments-setupatlas-deployments-deleteatlas-deployments-listatlas-deployments-pauseatlas-deployments-start
La opción --autoScalingMode admite los siguientes valores:
atlas setup --clusterName symmetricShardCluster --provider AWS --autoScalingMode clusterWideScaling --projectId 5e2211c17a3e5a48f5497de3 --tier M10
Para los clústeres configurados con clusterWideScaling, el El resultado en JSON se asemeja a lo siguiente:
{ "clusterType": "SHARDED", "name": "symmetricShardCluster", "diskSizeGB": 0, "replicationSpecs": [ { "id": "internalId", "numShards": 2, "regionConfigs": [ { "electableSpecs": { ... },the "readOnlySpecs": { ... }, ... } ], "zoneName": "string" } ], ... }
Para aprender más sobre la salida, revisa la Punto final getCluster. Si omites la opción --autoScalingMode, el comando usará por defecto el modo clusterWideScaling.
atlas setup --clusterName asymmetricShardCluster --provider AWS --autoScalingMode independentShardScaling --projectId 5e2211c17a3e5a48f5497de3 --tier M10
Para clústeres configurados con independentShardScaling, la salida de JSON se asemeja a lo siguiente:
{ "clusterType": "SHARDED", "name": "asymmetricShardCluster", "replicationSpecs": [ { "id": "externalId", "regionConfigs": [ { "electableSpecs": { "diskSizeGB": 10, ... }, "readOnlySpecs": { "diskSizeGB": 10, ... }, } ], "zoneId": "string",// for GET/UPDATE "zoneName": "string" }, ... ] }
La salida JSON incluye el objeto replicationSpecs que describe las propiedades de una sola partición. Los elementos replicationSpecs definen el número de particiones en lugar del campo numShards. El campo diskSizeGB está dentro del objeto replication_specs.regionConfig de cada partición. El campo zoneId que identifica la zona para el clúster global se entrega en el resultado. Para obtener más información sobre el resultado, consulta el endpoint getCluster.
Para revertir un clúster segmentado que utiliza escalado independiente de particiones a un escalado general de clúster, realiza el siguiente procedimiento:
Recupera el esquema de escalado de particiones independientes.
Realice una solicitud al endpoint de la Atlas Administration API Retornar un clúster de un proyecto. La solicitud devuelve una entrada replicationSpecs por partición.
Selecciona el esquema de una plantilla.
De entre los replicationSpecs, seleccione uno con el que hacer coincidir las demás particiones para una escalabilidad simétrica. Tenga en cuenta las siguientes propiedades del regionConfigs de la partición elegida:
instanceSizepara cada rol de partición, comoelectableSpecs,readOnlySpecsoanalyticsSpecs.diskSizeGB,ebsVolumeType, ydiskIOPS, o campos de almacenamiento equivalentes para los distintos proveedores de clúster.
Para garantizar la continuidad del rendimiento, seleccione su partición de nivel más alto como plantilla.
Crea un arreglo simétrico replicationSpecs.
Utilizando tu esquema de plantilla seleccionado como base, compón una carga útil de solicitud de PATCH en la que los valores de instanceSize de cada partición para electableSpecs y readOnlySpecs sean idénticos.
{ "replicationSpecs": [ { "id": "SHARD_ID_0", "regionConfigs": [ { "providerName": "AWS", "regionName": "US_EAST_1", "zoneName": "Zone1", "electableSpecs": { "instanceSize": "M60", "nodeCount": 3, "diskSizeGB": 2048, "ebsVolumeType": "PROVISIONED", "diskIOPS": 4000 }, "readOnlySpecs": { . . . }, "analyticsSpecs": { . . . } } ] }, { "id": "SHARD_ID_1", "regionConfigs": [ . . . ] }, . . . ] }
Aplica el PATCH.
Haz una solicitud al endpoint de la Atlas Administration API actualizar un clúster en un Proyecto usando la carga útil definida previamente. Esto inicia un cambio de tamaño gradual de todas las particiones del clúster.
Una vez que modifiques el tamaño de tus particiones para restaurar la simetría, puedes volver a usar la versión de recurso de la API 2024-10-23. Esta versión depende del modelo simétrico replicationSpecs.numShards.