Lindorm Streams, fourni par ApsaraDB for Lindorm, publie les données incrémentielles d'ApsaraDB for HBase Performance-enhanced vers des topics de Message Queue for Apache Kafka. Abonnez-vous à ces topics pour consommer en temps réel les modifications au niveau des lignes dans vos systèmes en aval.
Lindorm Streams prend en charge :
Fonctionnement
Lindorm Streams publie chaque opération sur une ligne sous forme de message vers un topic Kafka. Chaque message peut contenir deux versions de la ligne concernée : l'état avant l'opération et l'état après l'opération.
Sémantique de livraison
Garantie d'ordre
Les opérations sur une même ligne sont publiées dans leur ordre d'exécution, ce qui permet aux consommateurs de les rejouer dans la même séquence.
Livraison « au moins une fois »
Lindorm Streams garantit une livraison « au moins une fois ». Les messages peuvent être livrés plusieurs fois selon votre politique de nouvelle tentative ; concevez donc votre consommateur de manière à gérer les doublons.
Pour utiliser la sémantique « exactement une fois », soumettez un ticket.
Format du message
Chaque message est un objet JSON structuré comme suit :
{
"op": "<opType>",
"table": "<tableName>",
"ts": "<defaultVersion>",
"keyOnly": "<keyOnly>",
"data": [
{
"type": "<type>",
"name": "<name>",
"ts": "<version>",
"value": "<value>"
}
]
}
Le tableau suivant décrit les champs de premier niveau.
|
Champ |
Description |
|
|
Type d'opération. Valeurs valides : |
|
|
Nom de la table. |
|
|
Version par défaut. Utilisée lorsque la ligne ne contient pas la clé |
|
|
Indique si le message inclut uniquement la clé primaire. |
|
|
Tableau d'entrées de colonnes. Chaque entrée contient les champs décrits ci-dessous. |
Le tableau suivant décrit les champs de chaque entrée data.
|
Champ |
Description |
|
|
Type de données de la colonne. |
|
|
Nom de la colonne. |
|
|
Version des données. Si vide, la valeur |
|
|
Valeur de la colonne. Si vide, la valeur réelle dans la table est |
Paramètres du message
Utilisez les paramètres suivants pour contrôler les données incluses dans chaque message.
|
Paramètre |
Type |
Obligatoire |
Valeur par défaut |
Description |
|
|
boolean |
Non |
false |
Indique s'il faut synchroniser uniquement les clés primaires. |
|
|
boolean |
Non |
false |
Indique si une clé primaire est envoyée une seule fois par lot. |