Erstellen Sie zunächst den Redis-Cluster-Ordner:
Da Redis mindestens 6 Knoten (drei Meister und drei Sklaven) benötigt, habe ich hier zum besseren Verständnis zwei virtuelle Maschinen erstellt (192.168.0.109 192.168.0.110) und drei Knotenordner unter /opt/redis-4.0.1/Redis-Clows der beiden virtuellen Maschinen erstellt.
192.168.0.109:
192.168.0.110:
Alle oben genannten 6 Knoten werden erstellt, und dann wird die Konfigurationsdatei rEdis.conf in diesen sechs Ordnern erstellt, und die Konfiguration ist wie in der Abbildung dargestellt:
Port 7000bind 192.168.0.109daemonize yespidFile /var/run/redis_7000.pidcluster-anabled yescluster-config-file nodes_7000.confcluster-Node-Timeout 10000Appendonly Ja
Unter diesen müssen Sie die Port-Pidfile-Cluster-Config-Datei an die konsistente Knotenportnummer ändern und an die IP für den Remote-Zugriff binden. Nachdem alle Änderungen abgeschlossen sind, können Sie den Redis -Service starten:
Starten Sie den Befehl:
Befehl unter 192.168.0.109: "for ((i = 0; i <= 2; i ++)); do /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-cluster/700$i/redis.conf; drege"
Befehl unter 192.168.0.110: "for ((i = 3; i <= 5; i ++)); do /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done"
Sie können sehen, dass der Protokolldruck erfolgreich im Hintergrundmodus gestartet wird und die Maschine zwei Tage lang alle Knoten starten muss. Nach dem Start des Knotens können Sie einen Cluster -Dienst erstellen:
Run the following command on one of the virtual machines "/opt/redis-4.0.1/src/redis-trib.rb create --replicas 1 192.168.0.109:7000 192.168.0.109:7001 192.168.0.109:7002 192.168.0.110:7003 192.168.0.110:7004 192.168.0.110:7005 "
Denken Sie daran, nur auf einer Maschine auszuführen. Wenn es an der Verbindung festsitzt und nicht nach unten ausgeführt werden kann, wird es im Allgemeinen durch die Verbot des Firewall -Ports verursacht. Es gibt zwei Möglichkeiten, es zu lösen:
1. Sie müssen nicht nur den 7000 externen Anschluss öffnen, sondern Sie müssen auch 17000 eröffnen (da der Redis -Busanschluss 1000 hinzugefügt werden muss).
2. Schalten Sie alle Firewalls direkt aus (weil ich hier meine eigene Umgebung bin, habe ich den Firewall -Service direkt ausgeschaltet).
Das obige Bildlaufprotokoll wird angezeigt, und der Cluster-Dienst wird im Grunde genommen erfolgreich erstellt, und Sie können die Master-Slave-Beziehung jedes Knotens deutlich sehen. Nachdem die Umgebung gebaut wurde, werden wir sie in Verbindung mit der SSM -Architektur verwenden, über die ich im vorherigen Artikel geschrieben habe.
Der Mybaits Level 2 Cache, der das letzte Mal integriert wurde, ist eine eigenständige Version. Da diese Methode keine Cluster unterstützt, werden wir Jedis-Cluster verwenden, um Redis-Cluster und Java zu integrieren.
Fügen Sie zunächst die Konfiguration des Cluster -Computers in die Datei redis.Properties hinzu und fügen Sie die 6 Knoten der Konfiguration nacheinander hinzu:
#cluster cluster1.host.port = 192.168.0.109: 7000cluster2.host.port = 192.168.0.109: 7001cluster3.host.port = 192.168.0.109: 7002 cluster4.host.port = 192.168.0.110: 7003cluster5.host.port = 192.168.0.110: 7004Cluster6.Host.port = 192.168.0.110: 7005
Die Redis -Konfigurationsdatei hat sich ebenfalls stark von der vorherigen geändert. Ich habe es direkt aufgelistet und kann direkt kopiert und verwendet werden.
Spring-redis.xml
<beans xmlns = "http://www.springframework.org/schema/bean xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: util = "http://www.spingframework.org/schema/util" xmlns: aoop = "http://wwwwwww.Sch./Atp./wwww.spingframework xmlns: context = "http://www.springframework.org/schema/context" xmlns: task = "http://www.spingframework.org/schema/task" xsi: schemalocation = "http://wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.Stask.Sch. http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/aop http://www.springframe.org/schema/aop/sping- http://www.springframework.org/schema/context http://www.springFramework.org/schema/context/spring-context-4.3.xsd "> <!-Basic-Parameter-Konfiguration des Anschlusspools, ähnlichem Datenträgerpool. /> <bean name = "genericObjectPoolConfig"> <Eigenschaft name = "maxwaitmillis" value = "-1" /> <Eigenschaft name = "mAXTOTAL" value = "1000" /> <Eigenschaft name = "minidle" value = "8" /> <Eigenschaft name = "maxidle" value = "100" /> < /> < /tean> < /tean> < /> < /> < /> < /> < /> < /> < /> < /> <- <bean id = "jedisconnectionFactory"> <Eigenschaft name = "hostname" value = "$ {redis.host}"> </property> <Eigenschaft name = "port" value = "$ {redis.port}"> </property> <Property name = "Passwort" value = "$ {revers.pass}"> </</</achbild </bean>-> <!-Call Connection Pool Factory-Konfiguration-> <!-<bean id = "redistemplate"> <Eigenschaft name = "jedisconnectionFactory" ref = "jedisconnectionFactory"> </Eigenschaft> Wenn Serializer nicht konfiguriert ist, verwenden Sie dann String intelligent. Wenn Sie den Benutzertyp zum Speichern verwenden, fordert ein Fehlernutzer nicht in die String ein! ! ! <Eigenschaft name = "keyserializer"> <bean/> </property> <Eigenschaft name = "valuerializer"> <bean/> </property> </bean> -> <bean id = "jediscluster"> <Eigenschaft name = "adressconfig" name = "timeout" value = "300000" /> <Eigenschaft name = "maxRedirections" value = "6" /> <Eigenschaft name = "genericObjectpoolconfig" ref = "genericObjectPoolconfig" /> < /bean> < /beans>Deaktivieren Sie alle Cache -Konfigurationen von MyBatis in der vorherigen SSM+Redis -Integration, um den Service -Test zu starten
Injizieren Sie zunächst Jediscluster direkt, um ein Cluster -Objekt zu erhalten.
Für den Einfachheit halber habe ich eine einfache Idee in Java geschrieben, um Daten zu synchronisieren, und andere Methoden können auch implementiert werden, z.
Nach erfolgreichem Start wird die Methode wiederholt aufgerufen. Sie können sehen, dass die Konsole die SQL -Anweisung nicht druckt, sondern die Daten im Redis -Cluster direkt erhält. Die obige einfache Redis -Cluster -Instanz wurde abgeschlossen. Aus zeitlichen Einschränkungen habe ich einige Fallstricke in Linux detailliert nicht ausgeschrieben.
Zusammenfassen
Das obige ist die integrierte Verwendungsmethode von Redis -Cluster und SSM, die Ihnen vorgestellt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!