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
Als ich kürzlich an einem Projekt arbeitete, stel...
Überlauf ausblenden Damit ist gemeint, dass Text-...
Inhaltsverzeichnis 1. Grundkenntnisse: 2. DHCP-Se...
Gestern, als ich die Funktion zum Hochladen von B...
Kommen wir ohne weitere Umschweife direkt zum Cod...
Inhaltsverzeichnis Ausgehend von der Typbeurteilu...
<frameset></frameset> ist jedem bekann...
** Detaillierte grafische Anweisungen zur Install...
WeChat Mini-Programm - QR-Code-Generator Download...
Ich habe vor einiger Zeit ein Projekt entwickelt....
1. Installieren Sie ffmpeg unter Centos Linux 1. ...
1. readonly Nur-Lese-Attribut, so dass Sie den Wer...
Inhaltsverzeichnis 1. Konfigurieren Sie zunächst ...
Inhaltsverzeichnis Eckig erreichen Aufrufreihenfo...
In diesem Artikel wird der spezifische Code von j...