Gestire le attività CDC
Un task Capture Data Change (CDC) consente la sincronizzazione dei dati da un'istanza Milvus di origine a un'istanza Milvus di destinazione. Monitora i registri delle operazioni dall'origine e replica in tempo reale le modifiche dei dati, come inserimenti, cancellazioni e operazioni di indice, alla destinazione. Questo facilita il disaster recovery in tempo reale o il bilanciamento del carico attivo-attivo tra le installazioni Milvus.
Questa guida spiega come gestire i task CDC, tra cui la creazione, la pausa, la ripresa, il recupero dei dettagli, l'elencazione e l'eliminazione tramite richieste HTTP.
Creare un task
La creazione di un'attività CDC consente di sincronizzare le operazioni di modifica dei dati nel Milvus di origine con il Milvus di destinazione.
Per creare un'attività CDC:
curl -X POST http:_//localhost:8444/cdc \
-H "Content-Type: application/json" \
-d '{
"request_type": "create",
"request_data": {
"milvus_connect_param": {
"uri": "http://localhost:19530",
"token":"root:Milvus",
"connect_timeout": 10
},
"collection_infos": [
{
"name": "*"
}
]
}
}'
Sostituire localhost con l'indirizzo IP del server Milvus di destinazione.
Parametri:
milvus_connect_param: parametri di connessione del Milvus di destinazione.
host: Nome host o indirizzo IP del server Milvus.
port: Numero di porta su cui il server Milvus è in ascolto.
username: Nome utente per l'autenticazione con il server Milvus.
password: password per l'autenticazione con il server Milvus.
enable_tls: Se utilizzare la crittografia TLS/SSL per la connessione.
connect_timeout: Periodo di timeout in secondi per stabilire la connessione.
collection_infos: Collezioni da sincronizzare. Attualmente è supportato solo un asterisco(*), poiché Milvus-CDC sincronizza a livello di cluster, non di singole collezioni.
Risposta attesa:
{
"code": 200,
"data": {
"task_id":"xxxx"
}
}
Elenco attività
Per elencare tutti i task CDC creati:
curl -X POST -H "Content-Type: application/json" -d '{
"request_type": "list"
}' http://localhost:8444/cdc
Sostituire localhost con l'indirizzo IP del server Milvus di destinazione.
Risposta attesa:
{
"code": 200,
"data": {
"tasks": [
{
"task_id": "xxxxx",
"milvus_connect_param": {
"uri":"http://localhost:19530",
"connect_timeout": 10
},
"collection_infos": [
{
"name": "*"
}
],
"state": "Running"
}
]
}
}
Mettere in pausa un'attività
Per mettere in pausa un'attività CDC:
curl -X POST -H "Content-Type: application/json" -d '{
"request_type":"pause",
"request_data": {
"task_id": "xxxx"
}
}' http://localhost:8444/cdc
Sostituire localhost con l'indirizzo IP del server Milvus di destinazione.
Parametri:
- task_id: ID dell'attività CDC da mettere in pausa.
Risposta prevista:
{
"code": 200,
"data": {}
}
Riprendere un'attività
Per riprendere un'attività CDC in pausa:
curl -X POST -H "Content-Type: application/json" -d '{
"request_type":"resume",
"request_data": {
"task_id": "xxxx"
}
}' http://localhost:8444/cdc
Sostituire localhost con l'indirizzo IP del server Milvus di destinazione.
Parametri:
- task_id: ID dell'attività CDC da riprendere.
Risposta prevista:
{
"code": 200,
"data": {}
}
Recupera i dettagli dell'attività
Per recuperare i dettagli di un'attività CDC specifica:
curl -X POST -H "Content-Type: application/json" -d '{
"request_type":"get",
"request_data": {
"task_id": "xxxx"
}
}' http://localhost:8444/cdc
Sostituire localhost con l'indirizzo IP del server Milvus di destinazione.
Parametri:
- task_id: ID dell'attività CDC da interrogare.
Risposta prevista:
{
"code": 200,
"data": {
"Task": {
"collection_infos": [
{
"name": "*"
}
],
"milvus_connect_param": {
"connect_timeout": 10,
"uri":"http://localhost:19530"
},
"state": "Running",
"task_id": "xxxx"
}
}
}
Elimina un task
Per eliminare un task CDC:
curl -X POST -H "Content-Type: application/json" -d '{
"request_type":"delete",
"request_data": {
"task_id": "30d1e325df604ebb99e14c2a335a1421"
}
}' http://localhost:8444/cdc
Sostituire localhost con l'indirizzo IP del server Milvus di destinazione.
Parametri:
- task_id: ID del task CDC da eliminare.
Risposta prevista:
{
"code": 200,
"data": {}
}