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 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:
- Klicken Sie auf
Wenn Sie noch nicht angemeldet sind, geben Sie den Mandanten und die Benutzerzugangsdaten ein.
- Prüfen und akzeptieren Sie die Vertragsbedingungen.
- Wählen Sie die Region aus, in der Sie den Stack bereitstellen möchten.
- Befolgen Sie die Prompts und Anweisungen zum Erstellen des Stacks auf dem Bildschirm.
- Nachdem Sie den Stack erstellt haben, klicken Sie auf Terraform-Aktionen, und wählen Sie Planen aus.
- 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.
- Wenn keine weiteren Änderungen erforderlich sind, kehren Sie zur Seite "Stackdetails" zurück, klicken Sie auf Terraform-Aktionen, und wählen Sie Anwenden.
- Klicken Sie auf
- Mit dem Terraform-Code in GitHub bereitstellen:
- Gehen Sie zu GitHub.
- Klonen Sie das Repository, oder laden Sie es auf Ihren lokalen Computer herunter.
- 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.
-
Technische Artikel, Whitepaper, Codebeispiele, FAQs und mehr beschreiben, wie JDBC, der Universal Connection Pool und die eingebettete JVM zur Verbindung mit Oracle Database verwendet werden.
-
Ein Repository auf GitHub mit Codebeispielen für ein Java-Servlet, das sich mit dem Oracle JDBC-Treiber bei Oracle Database anmeldet.