Проблема соединения с использованием Siddhi с сервером NATS - PullRequest
0 голосов
/ 10 апреля 2020

Я хотел бы использовать потоковый процессор Siddhi для чтения сообщений с сервера NATS. Я установил следующее программное обеспечение:

  • Сервер NATS v2.1.6 (на автономном сервере)
  • Siddhi siddhi-runner-5.1.2 (в качестве двоичного автономного на другом сервере на та же локальная сеть)
  • расширение Siddhi для NATS 2.0.10 со следующими зависимостями: protobuf- java -3.9.1.jar, java -nats-streaming-2.2.2.jar, jnats -2.6.5.jar (во всяком случае, я не использую опцию потоковой передачи)

Я использую следующее приложение siddhi:

@App:name("TestNATS")

@source(type='nats', @map(type='text'), destination='test.message', bootstrap.servers='nats://192.168.50.173:4222')
define stream inputStream (name string, age int, country string);

@sink(type='log', prefix='LOGGER')
define stream OutputStream(name string, age int, country string);

@info(name='HelloWorldQueryNATS')
from inputStream
select name, age, country
insert into OutputStream;

Когда запускается Siddhi, кажется, что он соединяется с NATS server без проблем, но после первоначального рукопожатия Сиддхи выдает следующее exception:

[2020-04-10 10:55:00,441]  INFO {org.wso2.msf4j.internal.websocket.WebSocketServerSC} - All required capabilities are available of WebSocket service component is available.

[2020-04-10 10:55:00,549]  INFO {org.wso2.msf4j.analytics.metrics.MetricsComponent} - Metrics Component is activated

[2020-04-10 10:55:00,552]  INFO {org.wso2.carbon.databridge.agent.internal.DataAgentDS} - Successfully deployed Agent Server

[2020-04-10 10:55:01,163]  INFO {org.wso2.carbon.analytics.idp.client.core.utils.IdPServiceUtils} - Enabling default IdPClient Local User Store as configuration is not overridden.

[2020-04-10 10:55:01,167]  INFO {org.wso2.carbon.analytics.idp.client.core.utils.IdPServiceUtils} - IdP client of type 'local' is started.

[2020-04-10 10:55:06,915] ERROR {io.siddhi.extension.io.nats.source.NATSSource} - Error while connecting to NATS server at destination: test.message

[2020-04-10 10:55:06,918] ERROR {io.siddhi.core.stream.input.source.Source} - Error on 'TestNATS'. Error while connecting to NATS server at destination: test.message Error while connecting at Source 'nats' at 'inputStream'. Will retry in '5 sec'. io.siddhi.core.exception.ConnectionUnavailableException: Error while connecting to NATS server at destination: test.message


Caused by: java.io.IOException: stan: connect request timeout

и непрерывно перезапускает процесс соединения, поэтому в журналах NATS server мы можем видеть следующие сообщения:

cid:1 - Client connection created

cid:1 - <<- [CONNECT"lang":"java","version":"2.6.0","name":"1586508901596_66035_83044","protocol":1,"verbose":false,"pedantic":false,"tls_required":false,"echo":true}]

cid:1 - <<- [PING]

cid:1 - ->> [PONG]

cid:1 - <<- [SUB _STAN.acks.TSHykWgo2B6Lv2xW8b1Bfd 1]

cid:1 - <<- [SUB _INBOX.TSHykWgo2B6Lv2xW8b1BaH 2]

cid:1 - <<- [SUB _INBOX.TSHykWgo2B6Lv2xW8b1Bcx 3]

cid:1 - <<- [SUB _INBOX.4bm5CWKphBwldfvnGCxxJd.* 4]

cid:1 - <<- [PUB _STAN.discover.test-cluster _INBOX.4bm5CWKphBwldfvnGCxxJd.4bm5CWKphBwldfvnGCxxa9 88]

cid:1 - <<- MSG_PAYLOAD: ["\n\x191586508901596_66035_83044\x12\x1d_INBOX.TSHykWgo2B6Lv2xW8b1BaH\x18\x01\"\x16TSHykWgo2B6Lv2xW8b1BXb(\x050\x03"]

cid:1 - Client Ping Timer

cid:1 - ->> [PING]

cid:1 - <<- [PONG]

cid:1 - <<- [UNSUB 1]

cid:1 - <-> [DELSUB 1]

cid:1 - <<- [UNSUB 2]

cid:1 - <-> [DELSUB 2]

cid:1 - <<- [UNSUB 3]

cid:1 - <-> [DELSUB 3]

cid:1 - Client connection closed

cid:1 - <-> [DELSUB 4]

cid:2 - Client connection created

NATS server - это то же самое, что я использую с приложением pub-sub, использующим Nodejs, и оно отлично работает. Я также пытался использовать последний пакет Сиддхи docker, но результат тот же.

Где может быть ошибка?

1 Ответ

0 голосов
/ 11 апреля 2020

При использовании nats-streaming-server вместо nats-server проблема с подключением больше не возникает. Спасибо.

...