Thierry  Perret

Thierry Perret

1658428920

Comment Démarrer Avec Le Registre De Service OpenShift

Red Hat OpenShift Service Registry est un service entièrement hébergé et géré qui fournit une API et un registre de schémas pour les microservices . OpenShift Service Registry permet aux équipes de développement de publier, de découvrir et de réutiliser facilement les API et les schémas.

Des définitions d'API et de schéma bien définies sont essentielles pour fournir des architectures de microservices et de streaming d'événements robustes. Les équipes de développement peuvent utiliser un registre pour gérer ces artefacts dans différents formats, notamment OpenAPI , AsyncAPI , Apache Avro , Protocol Buffers , etc. Les producteurs et consommateurs de données peuvent ensuite utiliser les artefacts pour valider et sérialiser ou désérialiser les données.

Cet article vous permet de démarrer avec OpenShift Service Registry. Vous allez créer une application Java basée sur Quarkus qui utilise le registre pour gérer les schémas des données envoyées via les rubriques d'un cluster Apache Kafka . Le didacticiel devrait prendre moins de 30 minutes et comprend les étapes suivantes :

  1. Créez un compte Red Hat Hybrid Cloud.
  2. Provisionnez une instance de registre de service OpenShift.
  3. Provisionnez une instance OpenShift Streams pour Apache Kafka.
  4. Créer des sujets Kafka.
  5. Créez un compte de service pour faciliter l'accès authentifié à vos instances Kafka et Service Registry.
  6. Créez et exécutez une application Java.

Remarque : Les schémas et les définitions d'API sont des métadonnées qui représentent un contrat entre des services découplés. Ils doivent donc être des versions détectables, documentées et attribuées pour suivre leur évolution dans le temps.

À propos du registre de service OpenShift

Red Hat OpenShift Service Registry est basé sur le projet open source Apicurio Registry . Il fournit une instance de registre de services hautement disponible, sécurisée et compatible avec l' API Confluent Schema Registry et l'API CNCF Schema Registry . OpenShift Service Registry est également un service compagnon idéal pour les applications qui utilisent Red Hat OpenShift Streams pour Apache Kafka et Red Hat OpenShift API Management .

Conditions préalables

Vous avez besoin d'un compte Red Hat Hybrid Cloud pour exécuter les exemples de cet article. Créez un compte gratuitement sur console.redhat.com . Vous avez également besoin des outils suivants dans votre environnement de développement :

  • Java 11 ou supérieur
  • Maven 3.8.1 ou supérieur
  • Gite
  • Votre IDE ou éditeur de texte préféré

Créer une instance de registre de service

Les organisations ou les particuliers disposant d'un compte Red Hat Hybrid Cloud ont droit à une instance d'essai de deux mois d'OpenShift Service Registry. Pour créer une instance :

  1. Connectez-vous à votre compte sur console.redhat.com .
  2. Dans l'interface utilisateur (UI), sélectionnez Services d'application dans le menu de gauche.
  3. Développez l' entrée Service Registry dans le menu latéral et cliquez sur le lien Service Registry Instances . Acceptez l'avertissement indiquant qu'il s'agit d'un service bêta.
  4. Cliquez sur le bouton Créer une instance de registre de services . Une boîte de dialogue modale s'affiche.
  5. Entrez un nom pour votre instance Service Registry et cliquez sur le bouton Créer .

Votre instance OpenShift Service Registry sera prête à être utilisée dans une minute ou deux. Une coche verte s'affiche dans la colonne État pour indiquer quand l'instance est prête, comme illustré à la figure 1.

Lorsqu'une coche verte et un état Prêt s'affichent dans l'interface utilisateur OpenShift Service Registry, l'instance Service Registry peut être ouverte.

Figure 1 : Une instance de registre de service répertoriée dans l'interface utilisateur d'OpenShift Service Registry.

 

Une fois que votre instance est prête, cliquez sur sa ligne dans le portail pour afficher les informations de connexion, comme illustré à la figure 2. Prenez note de la valeur de l' API Core Registry , car vous en aurez bientôt besoin.

Les informations de connexion à l'instance de registre de service affichées dans l'interface utilisateur.

Figure 2 : Les informations de connexion de l'instance Service Registry affichées dans l'interface utilisateur.

Intégration d'applications Java avec Service Registry

Les applications de producteur Kafka peuvent utiliser des sérialiseurs pour coder des messages conformes à un schéma d'événement spécifique. Les applications client Kafka peuvent ensuite utiliser des désérialiseurs pour valider que les messages ont été sérialisés à l'aide du schéma correct, basé sur un ID de schéma spécifique. Ce processus est illustré à la figure 3. Vous allez tester la sérialisation et la désérialisation à l'aide d'applications Java producteur et consommateur qui se connectent à Kafka.

Les producteurs et les consommateurs de Kafka obtiennent des schémas du registre de service OpenShift.

Figure 3 : Applications Kafka producteur et consommateur utilisant le registre de service OpenShift pour partager des schémas.

Provisionner une instance Kafka gérée et créer des sujets

Pour commencer, vous devrez créer une instance OpenShift Streams pour Apache Kafka et deux sujets : l'un nommé quote-requestset l'autre nommé quotes. Nous avons expliqué comment obtenir cet environnement d'exécution gratuitement dans cet article .

N'oubliez pas de prendre note de l'URL du serveur d'amorçage de votre instance Kafka. Vous aurez bientôt besoin de cette URL.

Créer un compte de service

Un compte de service est requis pour connecter les applications au registre de service OpenShift et aux flux OpenShift pour les instances Apache Kafka. Le compte de service fournit un ID client et un secret client que les applications utilisent pour s'authentifier auprès des services cloud.

Pour créer un compte de service :

  1. Visitez console.redhat.com/beta/application-services/service-accounts .
  2. Cliquez sur le bouton Créer un compte de service .
  3. Entrez un nom pour le compte de service.
  4. Cliquez sur le bouton Créer .
  5. L'ID client et le secret client seront affichés. Copiez-les dans un endroit sûr.
  6. Fermez la boîte de dialogue modale.

Déploiement de l'application Java producteur

À ce stade, vous avez :

  • Une instance de registre de service OpenShift
  • Une instance OpenShift Streams pour Apache Kafka
  • Un compte de service pour connecter les applications aux deux instances précédentes
  • Sujets Kafka pour contenir les messages publiés par un producteur

Il est maintenant temps de déployer une application de producteur qui publie des messages sur votre rubrique Kafka. Cette application utilise un schéma Avro pour coder les messages au format Avro. Il publie également ce schéma dans votre registre de service OpenShift. Les applications grand public peuvent récupérer le schéma à partir d'OpenShift Service Registry pour désérialiser et valider les enregistrements qu'elles consomment à partir de votre rubrique Kafka.

Le code source pour le producteur et le consommateur est disponible dans ce référentiel GitHub . Clonez-le dans votre environnement de développement :

$ git clone $REPOSITORY_URL rhosr-getting-started

Ouvrez le rhosr-getting-startedprojet à l'aide de votre IDE ou éditeur de texte préféré, puis ouvrez le producer/pom.xmlfichier. Ce fichier contient des dépendances typiques utilisées pour se connecter à Kafka et exposer les services REST. La quarkus-apicurio-registry-avrodépendance est utilisée pour générer des classes Java basées sur les définitions de schéma Avro. Il apporte également les dépendances nécessaires pour travailler avec le registre de services, telles que les sérialiseurs et désérialiseurs Kafka prenant en charge le registre de services.

Ensuite, ouvrez le producer/src/main/avro/quote.avscfichier. Ce fichier contient un schéma Avro défini à l'aide de JSON. Ce schéma peut être utilisé pour générer une Quote.javaclasse qui étend et implémente la classe et l'interface Avro nécessaires. La Quoteclasse est utilisée pour sérialiser les messages sortants vers le sujet Kafka sous-jacent, et par le quotescanal pour désérialiser les messages entrants. La classe générée se trouve dans le target/generated-sources/Quota.javafichier après avoir compilé l'application ou l'avoir exécutée en mode développement.

Enfin, examinez le producer/src/main/resource/application.propertiesdossier. Ce fichier configure l'application pour se connecter à une instance Kafka, enregistrer des schémas avec un registre et utiliser la sérialisation et la désérialisation Avro.

Exécutez l'application du producteur

Vous pouvez exécuter l'application producteur où vous le souhaitez, y compris sur un cluster OpenShift. Je vais vous montrer comment vous pouvez exécuter le producteur dans votre environnement de développement local.

Tout d'abord, définissez les variables d'environnement suivantes dans un shell. Remplacez le texte entre <> crochets angulaires par les valeurs que vous avez trouvées dans les sections précédentes :

# Used to authenticate against the registry and kafka cluster
export CLIENT_ID=<your-client-id>
export CLIENT_SECRET=<your-client-secret>

# Used to connect to and authenticate against the service registry
export OAUTH_SERVER_URL=https://sso.redhat.com/auth
export REGISTRY_URL=<core-service-registry-url>

# Used to connect to and authenticate against the kafka cluster
export BOOTSTRAP_SERVER=<kafka-bootstrap-url>
export OAUTH_TOKEN_ENDPOINT_URI=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

 

Une fois ces valeurs définies, vous pouvez démarrer l'application producteur dans le même shell à l'aide de la commande suivante :

$ mvn quarkus:dev -f ./producer/pom.xml -Dquarkus-profile=prod

L'application Quarkus est maintenant en cours d'exécution et a exposé un serveur HTTP sur http://localhost:8080/ . Utilisez la commande suivante pour envoyer une requête POST qui crée un devis et l'envoie au quote-requestssujet Kafka :

$ curl -X POST http://localhost:8080/quotes/request

Vous devriez recevoir une réponse au format JSON contenant une citation unique idet un fichier random price.

Afficher le schéma de devis dans Service Registry

Lorsque vous démarrez l'application du producteur et faites une demande au point de /quotes/requestterminaison, le producteur se prépare à envoyer des données à votre rubrique Kafka. Avant d'envoyer les données, le producteur vérifie que le schéma Quote Avro est disponible dans OpenShift Service Registry. Si le schéma Quote est introuvable, le producteur publie le schéma dans le registre. Le producteur sérialise ensuite les données sortantes à l'aide du schéma et inclut l'ID de schéma enregistré dans la valeur du message.

Une application consommateur en aval peut utiliser l'ID de schéma trouvé dans la charge utile du message pour extraire le schéma nécessaire du registre. L'application consommateur peut ensuite utiliser le schéma pour valider et désérialiser le message entrant.

Pour confirmer que le schéma Avro a été publié dans OpenShift Service Registry :

  1. Accédez à votre liste d' instances de registre de service OpenShift .
  2. Sélectionnez l'instance utilisée par votre application productrice.
  3. Sélectionnez l' onglet Artefacts .

Vous devriez voir le schéma Quote, comme illustré à la figure 4.

Le schéma Quote Avro est répertorié dans le registre de service OpenShift.

Figure 4 : Le schéma Quote Avro répertorié dans OpenShift Service Registry.

Sélectionnez le schéma de devis dans la liste et affichez l' onglet Contenu . Utilisez le bouton Format pour améliorer la lisibilité du JSON et confirmez qu'il correspond au Quote.avscfichier dans la base de code de l'application du producteur.

Consommer des messages dans Service Registry

Le référentiel que vous avez cloné dans le cadre de cet exercice contient une application client. Cette application consommateur est configurée à l'aide des mêmes variables d'environnement que le producteur et lit les messages du quote-requestssujet. Étant donné que le producteur et le consommateur utilisent OpenShift Service Registry, le consommateur peut récupérer le schéma Avro nécessaire pour valider et désérialiser les demandes de devis entrantes.

Exécutez le producteur et le consommateur en même temps. Utilisez cURL pour ouvrir une connexion au point de terminaison des événements envoyés par le serveur (SSE) à http://localhost:8080/quotes , puis utilisez un autre client HTTP pour POST à ​​http://localhost:8080/quotes/request . Le consommateur doit correctement désérialiser et traiter les éléments de la quote-requestsrubrique et placer la citation traitée dans la quotesrubrique, après quoi le point de terminaison SSE doit afficher les éléments comme illustré à la figure 5.

Une commande cURL affiche les données désérialisées au format JSON reçues par le consommateur au point de terminaison SSE.

Figure 5 : Données désérialisées au format JSON reçues par le consommateur au point de terminaison SSE et affichées par une commande cURL.

Application des règles de compatibilité de schéma

OpenShift Service Registry prend en charge diverses règles de compatibilité de schéma pour empêcher la publication de modifications de schéma qui pourraient entraîner des incompatibilités avec les applications en aval (c'est-à-dire des modifications avec rupture). Vous pouvez en savoir plus sur les règles de compatibilité dans la documentation du service . Pour activer cette application :

  1. Ouvrez l'interface utilisateur du registre de service sur console.redhat.com/beta/application-services/service-registry .
  2. Sélectionnez votre instance et affichez le schéma de devis.
  3. Définissez la règle de validité sur complète et la règle de compatibilité sur arrière (voir la figure 6).
  4. Cliquez sur le bouton Télécharger une nouvelle version .
  5. Collez le schéma Avro suivant et cliquez sur Upload :
{
  "namespace": "org.acme.kafka.quarkus",
  "type": "record",
  "name": "Quote",
  "fields": [
    {
      "name": "id",
      "type": "string"
    },
    {
      "name": "price",
      "type": "int"
    },
    {
      "name": "notes",
      "type": "string"
    }
  ]
}

 

La figure 6 montre ces mises à jour dans la console.

La règle de compatibilité peut être définie dans l'interface utilisateur du registre du service OpenShift.

Figure 6 : Application des règles de compatibilité de schéma à l'aide de l'interface utilisateur OpenShift Service Registry.

Une erreur de contenu non valide doit s'afficher, car ce nouveau schéma a enfreint la règle de compatibilité descendante en ajoutant un nouveau champ obligatoire. Les nouveaux champs doivent être facultatifs si la rétrocompatibilité est activée. Comme l'indique le message d'erreur, de nouveaux schémas sont nécessaires pour fournir des schémas rétrocompatibles pour toute évolution future.

Conclusion

Félicitations ! Dans cet article, vous avez appris à :

  1. Utilisez le registre du service OpenShift.
  2. Utilisez les flux OpenShift pour Apache Kafka.
  3. Créez des schémas Avro.
  4. Intégrez des applications Java qui utilisent des schémas Avro avec les deux services.
  5. Gérez l'évolution du schéma et appliquez des règles pour empêcher les modifications avec rupture pour les consommateurs en aval.

Inscrivez-vous aux services décrits dans cet article et faites-nous part de votre expérience dans les commentaires.

Lien : https://developers.redhat.com/articles/2021/10/11/get-started-openshift-service-registry#consumer_messages_in_service_registry

#openshift

What is GEEK

Buddha Community

Comment Démarrer Avec Le Registre De Service OpenShift
Thierry  Perret

Thierry Perret

1658428920

Comment Démarrer Avec Le Registre De Service OpenShift

Red Hat OpenShift Service Registry est un service entièrement hébergé et géré qui fournit une API et un registre de schémas pour les microservices . OpenShift Service Registry permet aux équipes de développement de publier, de découvrir et de réutiliser facilement les API et les schémas.

Des définitions d'API et de schéma bien définies sont essentielles pour fournir des architectures de microservices et de streaming d'événements robustes. Les équipes de développement peuvent utiliser un registre pour gérer ces artefacts dans différents formats, notamment OpenAPI , AsyncAPI , Apache Avro , Protocol Buffers , etc. Les producteurs et consommateurs de données peuvent ensuite utiliser les artefacts pour valider et sérialiser ou désérialiser les données.

Cet article vous permet de démarrer avec OpenShift Service Registry. Vous allez créer une application Java basée sur Quarkus qui utilise le registre pour gérer les schémas des données envoyées via les rubriques d'un cluster Apache Kafka . Le didacticiel devrait prendre moins de 30 minutes et comprend les étapes suivantes :

  1. Créez un compte Red Hat Hybrid Cloud.
  2. Provisionnez une instance de registre de service OpenShift.
  3. Provisionnez une instance OpenShift Streams pour Apache Kafka.
  4. Créer des sujets Kafka.
  5. Créez un compte de service pour faciliter l'accès authentifié à vos instances Kafka et Service Registry.
  6. Créez et exécutez une application Java.

Remarque : Les schémas et les définitions d'API sont des métadonnées qui représentent un contrat entre des services découplés. Ils doivent donc être des versions détectables, documentées et attribuées pour suivre leur évolution dans le temps.

À propos du registre de service OpenShift

Red Hat OpenShift Service Registry est basé sur le projet open source Apicurio Registry . Il fournit une instance de registre de services hautement disponible, sécurisée et compatible avec l' API Confluent Schema Registry et l'API CNCF Schema Registry . OpenShift Service Registry est également un service compagnon idéal pour les applications qui utilisent Red Hat OpenShift Streams pour Apache Kafka et Red Hat OpenShift API Management .

Conditions préalables

Vous avez besoin d'un compte Red Hat Hybrid Cloud pour exécuter les exemples de cet article. Créez un compte gratuitement sur console.redhat.com . Vous avez également besoin des outils suivants dans votre environnement de développement :

  • Java 11 ou supérieur
  • Maven 3.8.1 ou supérieur
  • Gite
  • Votre IDE ou éditeur de texte préféré

Créer une instance de registre de service

Les organisations ou les particuliers disposant d'un compte Red Hat Hybrid Cloud ont droit à une instance d'essai de deux mois d'OpenShift Service Registry. Pour créer une instance :

  1. Connectez-vous à votre compte sur console.redhat.com .
  2. Dans l'interface utilisateur (UI), sélectionnez Services d'application dans le menu de gauche.
  3. Développez l' entrée Service Registry dans le menu latéral et cliquez sur le lien Service Registry Instances . Acceptez l'avertissement indiquant qu'il s'agit d'un service bêta.
  4. Cliquez sur le bouton Créer une instance de registre de services . Une boîte de dialogue modale s'affiche.
  5. Entrez un nom pour votre instance Service Registry et cliquez sur le bouton Créer .

Votre instance OpenShift Service Registry sera prête à être utilisée dans une minute ou deux. Une coche verte s'affiche dans la colonne État pour indiquer quand l'instance est prête, comme illustré à la figure 1.

Lorsqu'une coche verte et un état Prêt s'affichent dans l'interface utilisateur OpenShift Service Registry, l'instance Service Registry peut être ouverte.

Figure 1 : Une instance de registre de service répertoriée dans l'interface utilisateur d'OpenShift Service Registry.

 

Une fois que votre instance est prête, cliquez sur sa ligne dans le portail pour afficher les informations de connexion, comme illustré à la figure 2. Prenez note de la valeur de l' API Core Registry , car vous en aurez bientôt besoin.

Les informations de connexion à l'instance de registre de service affichées dans l'interface utilisateur.

Figure 2 : Les informations de connexion de l'instance Service Registry affichées dans l'interface utilisateur.

Intégration d'applications Java avec Service Registry

Les applications de producteur Kafka peuvent utiliser des sérialiseurs pour coder des messages conformes à un schéma d'événement spécifique. Les applications client Kafka peuvent ensuite utiliser des désérialiseurs pour valider que les messages ont été sérialisés à l'aide du schéma correct, basé sur un ID de schéma spécifique. Ce processus est illustré à la figure 3. Vous allez tester la sérialisation et la désérialisation à l'aide d'applications Java producteur et consommateur qui se connectent à Kafka.

Les producteurs et les consommateurs de Kafka obtiennent des schémas du registre de service OpenShift.

Figure 3 : Applications Kafka producteur et consommateur utilisant le registre de service OpenShift pour partager des schémas.

Provisionner une instance Kafka gérée et créer des sujets

Pour commencer, vous devrez créer une instance OpenShift Streams pour Apache Kafka et deux sujets : l'un nommé quote-requestset l'autre nommé quotes. Nous avons expliqué comment obtenir cet environnement d'exécution gratuitement dans cet article .

N'oubliez pas de prendre note de l'URL du serveur d'amorçage de votre instance Kafka. Vous aurez bientôt besoin de cette URL.

Créer un compte de service

Un compte de service est requis pour connecter les applications au registre de service OpenShift et aux flux OpenShift pour les instances Apache Kafka. Le compte de service fournit un ID client et un secret client que les applications utilisent pour s'authentifier auprès des services cloud.

Pour créer un compte de service :

  1. Visitez console.redhat.com/beta/application-services/service-accounts .
  2. Cliquez sur le bouton Créer un compte de service .
  3. Entrez un nom pour le compte de service.
  4. Cliquez sur le bouton Créer .
  5. L'ID client et le secret client seront affichés. Copiez-les dans un endroit sûr.
  6. Fermez la boîte de dialogue modale.

Déploiement de l'application Java producteur

À ce stade, vous avez :

  • Une instance de registre de service OpenShift
  • Une instance OpenShift Streams pour Apache Kafka
  • Un compte de service pour connecter les applications aux deux instances précédentes
  • Sujets Kafka pour contenir les messages publiés par un producteur

Il est maintenant temps de déployer une application de producteur qui publie des messages sur votre rubrique Kafka. Cette application utilise un schéma Avro pour coder les messages au format Avro. Il publie également ce schéma dans votre registre de service OpenShift. Les applications grand public peuvent récupérer le schéma à partir d'OpenShift Service Registry pour désérialiser et valider les enregistrements qu'elles consomment à partir de votre rubrique Kafka.

Le code source pour le producteur et le consommateur est disponible dans ce référentiel GitHub . Clonez-le dans votre environnement de développement :

$ git clone $REPOSITORY_URL rhosr-getting-started

Ouvrez le rhosr-getting-startedprojet à l'aide de votre IDE ou éditeur de texte préféré, puis ouvrez le producer/pom.xmlfichier. Ce fichier contient des dépendances typiques utilisées pour se connecter à Kafka et exposer les services REST. La quarkus-apicurio-registry-avrodépendance est utilisée pour générer des classes Java basées sur les définitions de schéma Avro. Il apporte également les dépendances nécessaires pour travailler avec le registre de services, telles que les sérialiseurs et désérialiseurs Kafka prenant en charge le registre de services.

Ensuite, ouvrez le producer/src/main/avro/quote.avscfichier. Ce fichier contient un schéma Avro défini à l'aide de JSON. Ce schéma peut être utilisé pour générer une Quote.javaclasse qui étend et implémente la classe et l'interface Avro nécessaires. La Quoteclasse est utilisée pour sérialiser les messages sortants vers le sujet Kafka sous-jacent, et par le quotescanal pour désérialiser les messages entrants. La classe générée se trouve dans le target/generated-sources/Quota.javafichier après avoir compilé l'application ou l'avoir exécutée en mode développement.

Enfin, examinez le producer/src/main/resource/application.propertiesdossier. Ce fichier configure l'application pour se connecter à une instance Kafka, enregistrer des schémas avec un registre et utiliser la sérialisation et la désérialisation Avro.

Exécutez l'application du producteur

Vous pouvez exécuter l'application producteur où vous le souhaitez, y compris sur un cluster OpenShift. Je vais vous montrer comment vous pouvez exécuter le producteur dans votre environnement de développement local.

Tout d'abord, définissez les variables d'environnement suivantes dans un shell. Remplacez le texte entre <> crochets angulaires par les valeurs que vous avez trouvées dans les sections précédentes :

# Used to authenticate against the registry and kafka cluster
export CLIENT_ID=<your-client-id>
export CLIENT_SECRET=<your-client-secret>

# Used to connect to and authenticate against the service registry
export OAUTH_SERVER_URL=https://sso.redhat.com/auth
export REGISTRY_URL=<core-service-registry-url>

# Used to connect to and authenticate against the kafka cluster
export BOOTSTRAP_SERVER=<kafka-bootstrap-url>
export OAUTH_TOKEN_ENDPOINT_URI=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

 

Une fois ces valeurs définies, vous pouvez démarrer l'application producteur dans le même shell à l'aide de la commande suivante :

$ mvn quarkus:dev -f ./producer/pom.xml -Dquarkus-profile=prod

L'application Quarkus est maintenant en cours d'exécution et a exposé un serveur HTTP sur http://localhost:8080/ . Utilisez la commande suivante pour envoyer une requête POST qui crée un devis et l'envoie au quote-requestssujet Kafka :

$ curl -X POST http://localhost:8080/quotes/request

Vous devriez recevoir une réponse au format JSON contenant une citation unique idet un fichier random price.

Afficher le schéma de devis dans Service Registry

Lorsque vous démarrez l'application du producteur et faites une demande au point de /quotes/requestterminaison, le producteur se prépare à envoyer des données à votre rubrique Kafka. Avant d'envoyer les données, le producteur vérifie que le schéma Quote Avro est disponible dans OpenShift Service Registry. Si le schéma Quote est introuvable, le producteur publie le schéma dans le registre. Le producteur sérialise ensuite les données sortantes à l'aide du schéma et inclut l'ID de schéma enregistré dans la valeur du message.

Une application consommateur en aval peut utiliser l'ID de schéma trouvé dans la charge utile du message pour extraire le schéma nécessaire du registre. L'application consommateur peut ensuite utiliser le schéma pour valider et désérialiser le message entrant.

Pour confirmer que le schéma Avro a été publié dans OpenShift Service Registry :

  1. Accédez à votre liste d' instances de registre de service OpenShift .
  2. Sélectionnez l'instance utilisée par votre application productrice.
  3. Sélectionnez l' onglet Artefacts .

Vous devriez voir le schéma Quote, comme illustré à la figure 4.

Le schéma Quote Avro est répertorié dans le registre de service OpenShift.

Figure 4 : Le schéma Quote Avro répertorié dans OpenShift Service Registry.

Sélectionnez le schéma de devis dans la liste et affichez l' onglet Contenu . Utilisez le bouton Format pour améliorer la lisibilité du JSON et confirmez qu'il correspond au Quote.avscfichier dans la base de code de l'application du producteur.

Consommer des messages dans Service Registry

Le référentiel que vous avez cloné dans le cadre de cet exercice contient une application client. Cette application consommateur est configurée à l'aide des mêmes variables d'environnement que le producteur et lit les messages du quote-requestssujet. Étant donné que le producteur et le consommateur utilisent OpenShift Service Registry, le consommateur peut récupérer le schéma Avro nécessaire pour valider et désérialiser les demandes de devis entrantes.

Exécutez le producteur et le consommateur en même temps. Utilisez cURL pour ouvrir une connexion au point de terminaison des événements envoyés par le serveur (SSE) à http://localhost:8080/quotes , puis utilisez un autre client HTTP pour POST à ​​http://localhost:8080/quotes/request . Le consommateur doit correctement désérialiser et traiter les éléments de la quote-requestsrubrique et placer la citation traitée dans la quotesrubrique, après quoi le point de terminaison SSE doit afficher les éléments comme illustré à la figure 5.

Une commande cURL affiche les données désérialisées au format JSON reçues par le consommateur au point de terminaison SSE.

Figure 5 : Données désérialisées au format JSON reçues par le consommateur au point de terminaison SSE et affichées par une commande cURL.

Application des règles de compatibilité de schéma

OpenShift Service Registry prend en charge diverses règles de compatibilité de schéma pour empêcher la publication de modifications de schéma qui pourraient entraîner des incompatibilités avec les applications en aval (c'est-à-dire des modifications avec rupture). Vous pouvez en savoir plus sur les règles de compatibilité dans la documentation du service . Pour activer cette application :

  1. Ouvrez l'interface utilisateur du registre de service sur console.redhat.com/beta/application-services/service-registry .
  2. Sélectionnez votre instance et affichez le schéma de devis.
  3. Définissez la règle de validité sur complète et la règle de compatibilité sur arrière (voir la figure 6).
  4. Cliquez sur le bouton Télécharger une nouvelle version .
  5. Collez le schéma Avro suivant et cliquez sur Upload :
{
  "namespace": "org.acme.kafka.quarkus",
  "type": "record",
  "name": "Quote",
  "fields": [
    {
      "name": "id",
      "type": "string"
    },
    {
      "name": "price",
      "type": "int"
    },
    {
      "name": "notes",
      "type": "string"
    }
  ]
}

 

La figure 6 montre ces mises à jour dans la console.

La règle de compatibilité peut être définie dans l'interface utilisateur du registre du service OpenShift.

Figure 6 : Application des règles de compatibilité de schéma à l'aide de l'interface utilisateur OpenShift Service Registry.

Une erreur de contenu non valide doit s'afficher, car ce nouveau schéma a enfreint la règle de compatibilité descendante en ajoutant un nouveau champ obligatoire. Les nouveaux champs doivent être facultatifs si la rétrocompatibilité est activée. Comme l'indique le message d'erreur, de nouveaux schémas sont nécessaires pour fournir des schémas rétrocompatibles pour toute évolution future.

Conclusion

Félicitations ! Dans cet article, vous avez appris à :

  1. Utilisez le registre du service OpenShift.
  2. Utilisez les flux OpenShift pour Apache Kafka.
  3. Créez des schémas Avro.
  4. Intégrez des applications Java qui utilisent des schémas Avro avec les deux services.
  5. Gérez l'évolution du schéma et appliquez des règles pour empêcher les modifications avec rupture pour les consommateurs en aval.

Inscrivez-vous aux services décrits dans cet article et faites-nous part de votre expérience dans les commentaires.

Lien : https://developers.redhat.com/articles/2021/10/11/get-started-openshift-service-registry#consumer_messages_in_service_registry

#openshift

Make Your Business Popular On the Internet with search engine optimization services India

As a small business owner, you should never think that SEO services are not for you. The search engine optimization services India from this digital marketing agency offer SEO services for small businesses and enterprises to make sure that they get in competition with bigger websites. They deliver on-page, off-page, local SEO and ecommerce SEO services.

#search engine optimization services india #seo services india #affordable seo services india #seo services provider #website seo services #outsource seo services india

joe biden

1617257581

Software de restauración de Exchange para restaurar sin problemas PST en Exchange Server

¿Quiere restaurar los buzones de correo de PST a Exchange Server? Entonces, estás en la página correcta. Aquí, lo guiaremos sobre cómo puede restaurar fácilmente mensajes y otros elementos de PST a MS Exchange Server.

Muchas veces, los usuarios necesitan restaurar los elementos de datos de PST en Exchange Server, pero debido a la falta de disponibilidad de una solución confiable, los usuarios no pueden obtener la solución. Háganos saber primero sobre el archivo PST y MS Exchange Server.

Conozca PST y Exchange Server

PST es un formato de archivo utilizado por MS Outlook, un cliente de correo electrónico de Windows y muy popular entre los usuarios domésticos y comerciales.

Por otro lado, Exchange Server es un poderoso servidor de correo electrónico donde todos los datos se almacenan en un archivo EDB. Los usuarios generalmente guardan la copia de seguridad de los buzones de correo de Exchange en el archivo PST, pero muchas veces, los usuarios deben restaurar los datos del archivo PST en Exchange. Para resolver este problema, estamos aquí con una solución profesional que discutiremos en la siguiente sección de esta publicación.

Un método profesional para restaurar PST a Exchange Server

No le recomendamos que elija una solución al azar para restaurar los datos de PST en Exchange Server. Por lo tanto, al realizar varias investigaciones, estamos aquí con una solución inteligente y conveniente, es decir, Exchange Restore Software. Es demasiado fácil de manejar por todos los usuarios y restaurar cómodamente todos los datos del archivo PST a Exchange Server.

Funciones principales ofrecidas por Exchange Restore Software

El software es demasiado simple de usar y se puede instalar fácilmente en todas las versiones de Windows. Con unos pocos clics, la herramienta puede restaurar los elementos del buzón de Exchange.

No es necesario que MS Outlook restaure los datos PST en Exchange. Todos los correos electrónicos, contactos, notas, calendarios, etc. se restauran desde el archivo PST a Exchange Server.

Todas las versiones de Outlook son compatibles con la herramienta, como Outlook 2019, 2016, 2013, 2010, 2007, etc. La herramienta proporciona varios filtros mediante los cuales se pueden restaurar los datos deseados desde un archivo PST a Exchange Server. El programa se puede instalar en todas las versiones de Windows como Windows 10, 8.1, 8, 7, XP, Vista, etc.

Descargue la versión de demostración del software de restauración de Exchange y analice el funcionamiento del software restaurando los primeros 50 elementos por carpeta.

Líneas finales

No existe una solución manual para restaurar los buzones de correo de Exchange desde el archivo PST. Por lo tanto, hemos explicado una solución fácil e inteligente para restaurar datos de archivos PST en Exchange Server. Simplemente puede usar este software y restaurar todos los datos de PST a Exchange Server.

Más información:- https://www.datavare.com/software/exchange-restore.html

#intercambio de software de restauración #intercambio de restauración #buzón del servidor de intercambio #herramienta de restauración de intercambio

Top-Notch 3d Design Services | 3d Printing Prototype Service

3D Design Service Provider

With the advancement in technology, many products have found a dire need to showcase their product virtually and to make the virtual experience as clear as actual a technology called 3D is used. The 3D technology allows a business to showcase their products in 3 dimensions virtually.

Want to develop an app that showcases anything in 3D?

WebClues Infotech with its expertise in mobile app development can seamlessly connect a technology that has the capability to change an industry with its integration in the mobile app. After successfully serving more than 950 projects WebClues Infotech is prepared with its highly skilled development team to serve you.

Want to know more about our 3D design app development?

Visit us at
https://www.webcluesinfotech.com/3d-design-services/

Visit: https://www.webcluesinfotech.com/3d-design-services/

Share your requirements https://www.webcluesinfotech.com/contact-us/

View Portfolio https://www.webcluesinfotech.com/portfolio/

#3d design service provide #3d design services #3d modeling design services #professional 3d design services #industrial & 3d product design services #3d web design & development company

Evelyn  Lucy

Evelyn Lucy

1619096139

Multi Service App Development | On-Demand Multi-Services App Solution

Having a multi-services app would help you to excel in your on-demand services business. An on-demand app solution empowers entrepreneurs to offer multiple on-demand services in a single app. In short, this is an efficient app to run a business successfully. If you are an entrepreneur who plans to start a business with the multi-services app, go forward with the multi-service app development.

What are the multiple services offered in the on-demand multi-services app?

Services are categorized as follows.
Ride services – Taxi ride, Moto ride, Car rental, and Moto rental.
Delivery services – Food delivery, Courier delivery, Logistics delivery, Grocery delivery, Medicine delivery, Flower delivery, Fuel delivery, and Plant delivery.
Other services – Plumber, Electrician, Car wash, Fitness, Handyman, Car repair, and beauty services.

Apart from these, you can consider integrating several other services while developing your app.

3 Significant reasons to invest in the on-demand multi-services app

The first and foremost reason why customers use this app is the on-demand multi-service on one platform. Usually, people do not like to install so many apps for availing various services. Instead, they can have a single app for that. This is the reason why the demand for such apps is high.

Next, the incurred cost is less in this app when compared to the single service app. With the seamless navigation feature, customers can easily avail of any services with just a few taps.

Thirdly, they feel more convenient in availing themselves various services in one platform.

Future scope of the multi-service industry

There are 7.6 million users for the multi-service apps in 2019. Recently, the demand for such apps is high considerably due to the covid-19 pandemic. It is expected to flourish more in the future. By 2023, this industry will hit 161.74 billion. This is so inspiring and so many entrepreneurs plan to propel into this industry in 2021.

Consider the following aspects for multi-service app development

Integrate the Multilingual and Multiple currencies features

Never let language be a barrier to your business. Therefore, incorporate the multilingual feature so that customers can use the app in their languages.

The global launch will help you to have a more extensive user base for your app. Just like language, do not let the currency restrict you from launching your app across many countries.

User-friendly design

The UI/UX of the app has to be simple and appealing. This plays a vital role in gaining more customers. If the design is not user-friendly and unimpressive, they won’t prefer your app for the next time. Instead, they prefer using your competitors’ app for availing multiple services. To gain new customers and to retain the existing customers, focus on the app design.

App platform

To cover all the audiences, consider launching the app on both the Android and iOS platforms. Decide on which platform you will launch the app based on your target audience.

White-label solution

It is a known fact that making an app from scratch needs more time and requires a considerable amount of money. On the counter side, creating the app using the white-label solution is budget-friendly and time-conserving. Because, it is a readily available solution. Upon making modifications, you can launch the app instantly. Being the customizable solution, any new features can be incorporated based on the requirements.

Wrap up,

The decision of starting a business with the on-demand multi-services app is good as the market will flourish further in the upcoming days. Take away the points from this blog to withstand in the highly competitive market. Reach out to Uberlikeapp for multi-services app development. We provide a customizable app solution that is scalable based on your needs.

#on demand multi services app #multi services app development #multi service booking app #on-demand service app clone #on-demand multi-services app solution