Vorwort In den Anfangsphasen einiger Projekte werden Entwicklung und Bereitstellung aus Gründen der Einfachheit und Geschwindigkeit auf einer einzigen Maschine durchgeführt. Mit zunehmender Geschäftsausweitung oder steigenden Anforderungen an die Verfügbarkeit genügt die Umgebung mit einer einzigen Maschine jedoch nicht mehr den Anforderungen. Beim Wechsel von einer Bereitstellung auf einem einzelnen Computer zu einer Bereitstellung auf mehreren Computern kann die Sitzungsfreigabe ein wichtiger Schritt sein (der ignoriert werden kann, wenn von Anfang an eine tokenbasierte Authentifizierung verwendet wird). Dieser Artikel stellt ein auf Redis basierendes Open-Source-Projekt zur Tomcat-Sitzungsverwaltung vor: Redission-Tomcat, mit dem die Sitzungsfreigabe schnell und ohne Codeeingriff implementiert werden kann. Einführung Redisson ist ein Redis-Client ähnlich wie Jedis, aber mit umfangreicheren Funktionen als Jedis. redission-tomcat ist ein auf Redis basierendes Tomcat-Sitzungsmanagerprojekt, Projektadresse. Im Vergleich zu anderen Implementierungen ist der Speicher dieses Projekts effizienter und Schreibvorgänge sind optimierter. Jeder Sitzungsparameter wird beim Aufruf von HttpSession.setAttribute in Redis geschrieben, während andere Lösungen im Allgemeinen die gesamte Sitzung serialisieren und jedes Mal schreiben. verwenden 1. Laden Sie die beiden JAR-Pakete redisson-all-3.11.0.jar und redisson-tomcat-8-3.11.0.jar herunter (für Tomcat8, andere Versionen finden Sie auf der obigen Projektadressenseite) und legen Sie sie im Lib-Verzeichnis von Tomcat ab. 2. Fügen Sie der Datei context.xml im Tomcat-Conf-Verzeichnis die folgende Konfiguration hinzu <Manager-Klassenname="org.redisson.tomcat.RedissonSessionManager" configPath="${catalina.base}/conf/redisson.conf" readMode="Speicher" updateMode="Nach_Anforderung" broadcastSessionEvents="false"/> In
3. Fügen Sie im Tomcat-Conf-Verzeichnis eine neue Konfigurationsdatei redisson.conf hinzu. Der Inhalt lautet wie folgt { "singleServerConfig":{ "idleConnectionTimeout":10000, "Verbindungstimeout":10000, "Zeitüberschreitung": 3000, "Wiederholungsversuche":3, "Wiederholungsintervall": 1500, "Passwort":"123456", "Abonnements pro Verbindung": 5, "Clientname":null, "Adresse": "redis://127.0.0.1:6379", "minimale Leerlaufgröße der Abonnementverbindung": 1, "Abonnement-Verbindungspoolgröße": 50, "VerbindungsminimumLeerlaufgröße":24, "Verbindungspoolgröße": 64, "Datenbank": 0, "dnsMonitoringInterval":5000 }, "Gewinde": 16, "nettyThreads":32, "Codec": { "Klasse": "org.redisson.codec.FstCodec" }, "Transportmodus": "NIO" } Oben sehen Sie die Redis-Umgebungskonfiguration für den Standalone-Modus, in der Kennwort und Adresse auf Ihre eigenen Werte geändert werden. Im Cluster-Modus lautet die Konfigurationsdatei { "sentinelServersConfig": { "idleConnectionTimeout":10000, "Verbindungstimeout":10000, "Zeitüberschreitung": 3000, "Wiederholungsversuche":3, "Wiederholungsintervall": 1500, "failedSlaveReconnectionInterval":3000, "failedSlaveCheckInterval":60000, "Passwort":null, "Abonnements pro Verbindung": 5, "Clientname":null, "loadBalancer": { "Klasse": "org.redisson.connection.balancer.RoundRobinLoadBalancer" }, "minimale Leerlaufgröße der Abonnementverbindung": 1, "Abonnement-Verbindungspoolgröße": 50, "SlaveConnectionMinimumIdleSize": 24, "SlaveConnectionPoolSize": 64, "masterConnectionMinimumIdleSize":24, "MasterConnectionPoolSize": 64, "Lesemodus": "SLAVE", "Abonnementmodus": "SLAVE", "sentinelAdressen":[ "redis://127.0.0.1:26379", "redis://127.0.0.1:26389" ], "masterName":"meinmaster", "Datenbank":0 }, "Gewinde": 16, "nettyThreads":32, "Codec": { "Klasse": "org.redisson.codec.FstCodec" }, "Transportmodus": "NIO" } Wir können nginx verwenden, um den Lastenausgleich zu erreichen, siehe die Konfiguration Upstream-cnserver { Server 127.0.0.1:8080 Gewicht=2 Fehler-Timeout=10 s, max. Fehler=1; Server 127.0.0.1:8081 Gewicht=2 Fehler-Timeout=10 s, max. Fehler=1; } Server { hören Sie 80; Servername localhost; Index Index.html Index.htm; Standort /rest/ { Index Index.html; Proxy-Passwort http://cnserver/rest/; } } Oben sind alle Konfigurationen für die Verwendung von Redisson-Tomcat aufgeführt, um die Bereitstellung von Einzel- bis Mehrfachmaschinen zu implementieren. Zusammenfassen Die technische Architektur entwickelt sich zusammen mit der Geschäftsentwicklung weiter. In den frühen Phasen der Geschäftsentwicklung sind die Anzahl der Benutzer und die Geschäftskomplexität relativ gering. Um eine schnelle Online-Verifizierung zu erreichen, wird häufig eine einfache und einheitliche Architektur verwendet. Viele Projekte scheitern möglicherweise, bevor sie Zeit haben, sich weiterzuentwickeln und ihre Architektur zu verbessern. Projekte, die jedoch das Glück haben, weiter zu wachsen, werden im Zuge der Expansion ihres Geschäfts zwangsläufig kontinuierlich optimiert und verbessert. Der in diesem Artikel vorgestellte Redisson-Tomcat kann Einzelmaschinenprojekten dabei helfen, schnell auf Mehrmaschinenunterstützung umzustellen, natürlich nur über die Verknüpfung zur Sitzungsverwaltung. Kommen weitere verteilte Unterstützungen wie Dateiupload, zeitgesteuerte Aufgaben etc. zum Einsatz, müssen entsprechende Anpassungen vorgenommen werden. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung des JS-Browser-Ereignismodells
>>: Analyse des MySQL-Sperrmechanismus und der Verwendung
In diesem Artikel werden 20 hervorragende Beispiel...
Vorwort PIPE, übersetzt als Pipeline. Angular Pip...
Technische Struktur Das Projekt ist in zwei Teile...
1. Einleitung Presto ist eine Open-Source-SQL-Abf...
Das <label>-Tag definiert eine Bezeichnung (...
Inhaltsverzeichnis Erste Schritte Datenspeicherun...
Laden Sie opencv.zip herunter Installieren Sie di...
Wenn Sie einen Befehl im Terminal ausführen, müss...
Vorwort Wir alle wissen, dass man QR-Codes in off...
Einschließlich der Verwendung von Kontrollkästchen...
brauchen Unabhängig davon, ob es sich um ein Wind...
Überprüfen Sie die Transaktionsisolationsebene In...
Vorwort smb ist der Name eines Protokolls, das fü...
Es gibt viele Möglichkeiten, Formularfelder in Vu...
Vorwort: Die am häufigsten verwendete Architektur...