2016-05-06 6 views
1

Ich versuche, Spring XD im verteilten Modus zu konfigurieren, und ich konnte es leider nicht tun. Ich versuche, die Inter-Modul-Kanäle mit Redis zu unterstützen, und ich habe eine 3 Knoten Redis 3.0 Cluster ausgeführt.Spring XD verteilter Modus Redis Konfiguration

Meine Änderungen an der Konfiguration weiter unten, lassen Sie mich bitte wissen, ob ich etwas fehle oder ich sonst irgend etwas tun müssen, um meine Feder-Instanz laufen im verteilten Modus zu machen:

servers.yml Datei von xd-Behälter ist so konfiguriert, wie

  spring: 
       profiles: container 
      xd: 
       transport: redis 
      embeddedHsql: false 
      . 
      . 
      . 
      . 
      spring: 
       datasource: 
       url: jdbc:mysql://mysql-instance01:3306/springxd 
       username: springxd 
       password: springxd 
       driverClassName: com.mysql.jdbc.Driver 
       validationQuery: select 1 
      . 
      . 
      . 
      spring: 
       redis: 
       port: 6379 
       host: redis-instance01 
       pool: 
       maxIdle: 8 
       minIdle: 0 
       maxActive: -1 
       maxWait: 30000 
       sentinel: 
       master: mymaster 
       nodes: redis-instance02:6379,redis-instance03:6379 

Wenn ich die xd-Behälter mit dieser Konfiguration ich den Fehler-Stack-Trace erhalten laufen als here

gezeigt und wenn ich entfernen Sentinel, Sentinel: Master, Sentinel: Knoten , das Behälter beginnt in Ordnung, aber versagt, wenn einige Ströme eingesetzt wird, ist das Fehlerprotokoll als here gezeigt

Aber es ist absolut kein Problem mit meinem redis Cluster, wenn sie von Java zu verbinden versuchen, mit JedisCluster.

Fehle ich etwas in dieser Konfiguration? Irgendwelche Gedanken oder Kommentare?

Vielen Dank im Voraus.

Antwort

0

Erhöhung Redis maxclients

My Test App Werke (verteilten Modus mit 3 Containern) mit confgiuration (einer Maschine):

spring: 
    profiles: container 
xd: 
    transport: redis 
--- 
# Redis properties 
spring: 
    redis: 
    port: 6379 
    host: 127.0.0.1 
    pool: 
     maxIdle: 8 
     minIdle: 0 
     maxActive: -1 
     maxWait: 30000 

Redis ist meist Single-Threaded-Anwendung.

Redis versucht, die Daten auf der Festplatte zu speichern. Während es für diesen Prozess wieder nachgab, verlangsamt es immer noch alles.

Für den verteilten Modus - verwenden Sie zum Beispiel kafka.

Hoffe das hilft dir.

Verwandte Themen