WildFly bereitstellen, das mit einem Autonomous Database verbunden ist

WildFly unterstützt die neuesten Standards für den REST-basierten Datenzugriff, einschließlich JAX-RS 2 und JSON-P. B

WildFly, früher als JBoss-Anwendungsserver bezeichnet, ist ein Open-Source-Anwendungsserver, der den Jakarta EE 8/9- und Java EE 8-Spezifikationen entspricht. Es enthält eine Webserver-Komponente namens Undertow. Der Anwendungsserver kann zum Ausführen und Verwalten einer Mehrservertopologie oder als Standalone-Server konfiguriert werden. WildFly unterstützt die neuesten Standards für den REST-basierten Datenzugriff, einschließlich JAX-RS 2 und JSON-P. Sie ermöglicht eine effiziente Speicherverwaltung, die auf integrierbaren Subsystemen basiert. WildFly ermöglicht einen schnelleren Entwicklungszyklus mit dem benutzerfreundlichen Arquillian-Framework.

Architektur

Diese Referenzarchitektur enthält einen Load Balancer, eine Anwendungsebene mit WildFly-Multiserverarchitektur, eine Datenbankebene mit Oracle Autonomous Transaction Processing und einen Bastionhost für sicheren Zugriff auf die Admin-Konsole WildFly.

Die Komponenten befinden sich in verschiedenen Subnetzen. Load Balancer und Bastion-Host befinden sich in einem öffentlichen Subnetz. Die WildFly-Server teilen ein privates Subnetz und verteilen sich auf Availability-Domains in Regionen, die es ermöglichen, und auf Faultdomains für hohe Verfügbarkeit.

Die Datenbank befindet sich im eigenen privaten Subnetz. Der externe Zugriff auf die Anwendungsserver erfolgt über den Load Balancer über ein Internetgateway, während der Zugriff auf die Administrationskonsole über einen Bastionshost erfolgt.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von Architecture-wildfly-oci.png folgt
Beschreibung der Abbildung Architecture-wildfly-oci.png

Architecture-wildfly-oci-oracle.zip

Die Architektur verfügt über folgende Komponenten:

  • Region

    Eine Oracle Cloud Infrastructure-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Rechenzentrum (Availability-Domains) enthält. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können sie trennen (über Länder oder sogar Kontinente).

  • Verfügbarkeitsdomains

    Availability-Domains sind eigenständige, unabhängige Rechenzentren innerhalb einer Region. Die physischen Ressourcen in jeder Availability-Domain werden von den Ressourcen in den anderen Availability-Domains isoliert, was eine Fehlertoleranz bietet. Verfügbarkeitsdomänen teilen keine Infrastruktur wie Strom oder Kühlung oder das interne Availability-Domänennetzwerk. Somit ist es unwahrscheinlich, dass ein Fehler bei einer Availability-Domain die anderen Availability-Domains in der Region beeinträchtigt.

  • Fault-Domains

    Eine Faultdomain ist eine Gruppierung aus Hardware und Infrastruktur innerhalb einer Availability-Domain. Jede Availability-Domain verfügt über drei Faultdomains mit unabhängiger Power und Hardware. Wenn Sie Ressourcen auf mehrere Faultdomains verteilen, können Ihre Anwendungen physischen Serverausfall, Systemwartung und Stromausfälle innerhalb einer Faultdomain tolerieren.

  • Virtuelles Cloud-Netzwerk (VCN) und Subnetze

    Ein VCN ist ein anpassbares, Softwaredefiniertes Netzwerk, das Sie in einer Oracle Cloud Infrastructure-Region einrichten. Wie bei traditionellen Data Center-Netzwerken haben VCNs die vollständige Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere sich nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die für eine Region oder eine Availability-Domain gelten können. Jedes Subnetz besteht aus einem nachfolgenden Adressbereich, der sich nicht mit den anderen Subnetzen im VCN überschneidet. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • Load Balancer

    Der Oracle Cloud Infrastructure Load Balancing-Service ermöglicht automatisierte Trafficverteilung von einem einzelnen Einstiegspunkt auf mehrere Server im Backend.

  • Sicherheitsliste

    Für jedes Subnetz können Sie Sicherheitsregeln erstellen, die die Quelle, das Ziel und den Traffictyp angeben, die im Subnetz und außerhalb des Subnetzes zulässig sein müssen.

  • Routentabelle

    Virtuelle Routentabellen enthalten Regeln zur Weiterleitung des Traffics von Subnetzen an Ziele außerhalb eines VCN, typischerweise über Gateways.

  • Internetgateway

    Das Internetgateway ermöglicht Traffic zwischen den öffentlichen Subnetzen in einem VCN und dem öffentlichen Internet.

  • WildFly-Server

    Die WildFly-Server hosten Ihre Anwendungen.

  • Autonomous Database-System

    WildFly kann sich bei jeder Datenbank anmelden, die Java Database Connectivity (JDBC) anbietet. Diese Architektur bietet die Möglichkeit, ein Oracle Autonomous Database bereitzustellen.

Empfehlungen

Ihre Anforderungen können von der hier beschriebenen Architektur abweichen. Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt.

  • VCN

    Wenn Sie ein VCN erstellen, bestimmen Sie die Anzahl der erforderlichen CIDR-Blöcke und die Größe jedes Blocks basierend auf der Anzahl der Ressourcen, die Sie an Subnetze im VCN anhängen möchten. Verwenden Sie CIDR-Blöcke, die sich im privaten Standardadressbereich befinden.

    Wählen Sie CIDR-Blöcke aus, die sich nicht mit einem anderen Netzwerk (in Oracle Cloud Infrastructure, Ihrem On-Premise-Data Center oder einem anderen Cloud-Provider) überschneiden, für das Sie private Verbindungen einrichten möchten.

    Nachdem Sie ein VCN erstellt haben, können Sie die zugehörigen CIDR-Blöcke ändern, hinzufügen und entfernen.

    Wenn Sie die Subnetze entwerfen, berücksichtigen Sie Ihre Verkehrsfluss- und Sicherheitsanforderungen. Ordnen Sie alle Ressourcen innerhalb einer bestimmten Ebene oder Rolle an dasselbe Subnetz zu, das als Sicherheitsgrenze dienen kann.

  • Load-Balancer-Bandbreite

    Beim Erstellen des Load Balancers können Sie entweder eine vordefinierte Ausprägungen mit fester Bandbreite auswählen oder eine benutzerdefinierte (flexible) Ausprägungen angeben, bei der Sie einen Bandbreitenbereich festlegen und der Service die Bandbreite automatisch basierend auf Trafficmustern skalieren lässt. Bei beiden Lösungen können Sie die Ausprägungen nach dem Erstellen des Load Balancers jederzeit ändern.

  • Compute Instances

    Alle Mandanten erhalten zwei Instanzen von Always Free Compute Virtual Machine (VM), die diese Architektur verwenden kann.

    Wenn mehr Verarbeitungsleistung erforderlich ist, können Sie verschiedene Formen auswählen.

  • Datenbanksysteme

    Alle Mandanten erhalten zwei autonome Oracle-Datenbanken "Immer kostenlos". Autonomous Databases verwenden Shared Exadata-Infrastruktur, in der Oracle das Provisioning und die Instandhaltung der Infrastruktur verarbeitet.

    Wenn mehr als zwei Datenbanken erforderlich sind, verwenden Sie ein nicht-freies Oracle Autonomous Database.
  • Block Storage

    Die Instanzen in dieser Architektur verwenden regulären Blockspeicher. Es ist keine zusätzliche Performance erforderlich.

  • Netzwerkverbindungen

    Sie können die Umgebung verwalten, indem Sie eine Verbindung zu Ihrer vorhandenen On-Premise-Infrastruktur herstellen, indem Sie ein Site-to-Site-VPN oder eine dedizierte Verbindung mit FastConnect verwenden.

    Wenn die Umgebung von der vorhandenen Infrastruktur getrennt oder extern aufgerufen werden muss, kann ein Bastion-Host die Managementverbindungen sichern. Der Bastionshost wird normalerweise in einer entmilitarisierten Zone (DMZ) bereitgestellt. Sie schützt sensible Ressourcen, indem sie in private Netzwerke platziert werden, auf die nicht direkt von außerhalb der Cloud zugegriffen werden kann. Sie können vermeiden, die empfindlicheren Komponenten der Architektur freizugeben, ohne den Zugriff auf diese Komponenten zu beeinträchtigen.

Überlegungen

Beachten Sie die folgenden Punkte beim Deployment dieser Referenzarchitektur.

  • Performance

    Diese Architektur kann immer kostenlose Oracle Cloud Infrastructure-Ressourcen verwenden. Aufgrund der Einschränkungen der Verarbeitungsleistung in der Immer freien Stufe ist sie nicht für die Produktion bestimmt. Für intensivere Workloads sollten die regulären Formen von Instanzen, Load Balancern und Datenbanken verwendet werden.

  • Sicherheit

    Außer dem Bastion-Host und Load Balancern sollten alle Komponenten in private Subnetze gesetzt werden.

  • Verfügbarkeit

    Die Load Balancer und die Datenbanken sind redundant und erfordern keine Intervention, um diese Funktionen zu nutzen. Die WildFly-Server werden als Paar bereitgestellt und vom Load Balancer ausgeglichen. Weitere Knoten können hinzugefügt werden, aber sie sind nicht in der Immer freien Ebene enthalten.

  • Kostenfaktor

    Diese Architektur kann die Immer freie Ebene verwenden. Die Ressourcen der freien Schicht reichen jedoch möglicherweise nicht für Produktions-Workloads aus. In diesem Fall müssen Sie regelmäßig Rechenressourcen und -dienste bereitstellen.

Bereitstellen

Der Terraform-Code für diese Referenzarchitektur ist als Beispielstack in Oracle Cloud Infrastructure Resource Manager verfügbar. Sie können den Code auch aus GitHub herunterladen und an Ihre spezifischen Anforderungen anpassen.

  • Mit Oracle Cloud Infrastructure Resource Manager bereitstellen:
    1. Klicken Sie auf In Oracle Cloud bereitstellen

      Wenn Sie noch nicht angemeldet sind, geben Sie den Mandanten und die Benutzerzugangsdaten ein.

    2. Prüfen und akzeptieren Sie die Vertragsbedingungen.
    3. Wählen Sie die Region aus, in der Sie den Stack bereitstellen möchten.
    4. Befolgen Sie die Prompts und Anweisungen zum Erstellen des Stacks auf dem Bildschirm.
    5. Nachdem Sie den Stack erstellt haben, klicken Sie auf Terraform-Aktionen, und wählen Sie Planen aus.
    6. Warten Sie, bis der Job abgeschlossen ist, und prüfen Sie den Plan.

      Um Änderungen vorzunehmen, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Stack bearbeiten, und nehmen Sie die erforderlichen Änderungen vor. Führen Sie anschließend die Aktion Planen erneut aus.

    7. Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Terraform-Aktionen, und wählen Sie Anwenden.
  • Mit dem Terraform-Code in GitHub bereitstellen:
    1. Gehen Sie zu GitHub.
    2. Klonen Sie das Repository, oder laden Sie es auf Ihren lokalen Computer herunter.
    3. Befolgen Sie die Anweisungen im Dokument README.

Mehr erfahren

Links zu zusätzlichen Informationen, mit denen Sie diese Architektur kennenlernen, ändern, verwenden oder implementieren können.

Änderungslog

In diesem Log werden wichtige Änderungen aufgelistet: