2016-05-06 2 views
1

Я пытаюсь настроить Spring XD в распределенном режиме, и, к сожалению, я не смог этого сделать. Я пытаюсь поддерживать межмодульные каналы с помощью redis, и у меня работает кластер с тремя узлами redis 3.0.Spring XD распределенный режим redis конфигурация

Мои изменения в конфигурации приведены ниже, пожалуйста, дайте мне знать, если я пропускаю что-нибудь или мне нужно делать ничего другого, чтобы сделать мой экземпляр весной работать в распределенном режиме:

servers.yml файла из XD-контейнера сконфигурирован как

  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 

При запуске Xd-контейнер с этой конфигурацией я получаю стека ошибок трассировки, как показано here

И Если удалить Sentinel, дозорный: мастер, дозорных: узлы , Контейнер начинает штраф, но сбиваться при развертывании некоторого потока, журнал ошибок, как показан here

Но нет абсолютно никаких проблем с моим REDIS кластером при попытке подключиться с помощью Java JedisCluster.

Я что-то упустил в этой конфигурации? Любые мысли или комментарии?

Заранее спасибо.

ответ

0

увеличение Redis MaxClients

Моего тест приложение работает (распределенный режим с 3-мя контейнеры) с confgiuration (одна машины):

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 в основном однопоточными приложения.

Redis попытается перенести данные на диск. Хотя redis forks для этого процесса, он все еще замедляет все.

Для распределенного режима - например, нужно использовать kafka.

Надеюсь, это вам поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^