Découvrez comment créer et implémenter la file d'attente Oracle Cloud Infrastructure à l'aide de ses API et du kit SDK Java

Vous pouvez utiliser l'API et les kits SDK de la file d'attente Oracle Cloud Infrastructure (OCI) pour créer, signaler et utiliser ce service à la fois en tant que source de message et en tant que consommateur. Bien que ce livre de jeux se concentre sur les API Java, les mêmes principes et fonctionnalités sont disponibles dans tous les kits SDK de langage.

OCI Queue est un service de distribution de messages entièrement géré et sans serveur qui s'adapte automatiquement à la demande de votre charge de travail. Il vous aide à découpler vos applications et à créer une architecture asynchrone orientée événements.

En savoir plus sur les API de file d'attente OCI

Les solutions sont très rarement des processus uniques ; la communication asynchrone entre les applications est souvent nécessaire pour éviter que la solution soit limitée par les limitations de ressources, par exemple, en exigeant une CPU, une latence, etc. Vous pouvez résoudre ces problèmes en établissant une communication dans laquelle les producteurs et les consommateurs n'ont pas besoin de dépendre les uns des autres. La file d'attente OCI prend en charge ce type de communication tout en effectuant un niveau très élevé.

Architecture

L'architecture décrite dans ce livre de jeux facilite l'exécution de la logique à partir de votre propre ordinateur ou son fonctionnement à partir d'une ou deux machines virtuelles qui peuvent être contrôlées via un tunnel SSH. Ces architectures sont présentées dans les diagrammes suivants. La file d'attente OCI n'est pas affichée car elle est créée si nécessaire.

Si vous créez et implémentez la file d'attente avec l'outil de file d'attente OCI en dehors d'une machine virtuelle, utilisez l'architecture suivante :


Description de l'image queue-api-playbook-arch-02.png
Description de l'illustration queue-api-playbook-arch-02.png

queue-api-playbook-arch-02-oracle.zip

Si vous créez et implémentez la file d'attente avec l'outil de file d'attente OCI dans une machine virtuelle, utilisez l'architecture suivante :


Description de l'image queue-api-playbook-arch-01.png
Description de l'illustration queue-api-playbook-arch-01.png

queue-api-playbook-arch-01-oracle.zip

Dans le cadre du livre de jeux suivant, nous allons prendre en compte l'utilisation de notre propre hôte de bureau pour le client et le consommateur.

Ces deux architectures contiennent les composants suivants :
  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (dans des pays voire des continents).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants autonomes au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui assure la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure telle que l'alimentation ou le refroidissement, ni réseau de domaine de disponibilité interne. Ainsi, il est peu probable qu'un problème survenant sur un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Domaine de pannes

    Un domaine de pannes est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes avec une alimentation et un matériel indépendants. Lorsque vous distribuez des ressources sur plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physique, de maintenance du système et d'alimentation au sein d'un domaine de pannes.

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions réalisables.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisable, défini par logiciel, que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centres de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur votre environnement réseau. Un VCN peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être ciblés vers une région ou un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux du VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.

  • Instances de calcul

    Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources (UC, mémoire, bande passante réseau et stockage). Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et dissocier des volumes, et y mettre fin lorsque vous n'en avez pas besoin.

Remarques concernant les stratégies de file d'attente

Les stratégies de contrôle et de configuration des files d'attente OCI et des stratégies de création et d'utilisation des messages sont distinctes. Vous disposez ainsi d'un contrôle affiné des opérations disponibles via les API. Cela signifie que vous devez tenir compte des exigences et des besoins de sécurité de votre application.

Découvrir le kit SDK Java

Les kits SDK fournis par OCI fournissent une série de fonctions de convaincre qui extraient les informations nécessaires pour que vous puissiez authentifier et autoriser les appels de service OCI. Les SDK adoptent la variante du modèle Builder de Joshua Bloch. En savoir plus sur ces modèles de construction dans le billet de blog, Exploring Joshua Bloch's Builder design pattern in Java.