Multistream
A plataforma Devprime, por meio do Adapter Stream, oferece a abordagem Multistream, permitindo a integração de mais de um serviço de Stream em um único microsserviço.
Ao adotar a estratégia Multistream por meio da configuração do Adapter de Stream, é possível ativar, por exemplo, o RabbitMQ e o Kafka ao mesmo tempo para atender a cenários específicos. Todos os eventos recebidos pelo Adapter de Stream são processados no método StreamEvents()
oferecido pelo Adapter de Stream na plataforma Devprime.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
"Devprime_Stream": [
{
"Alias": "Stream1",
"Enable": "true",
"Default": "fakse",
"StreamType": "RabbitMQ",
"HostName": "Localhost",
"User": "guest",
"Password": "guest",
"Port": "5672",
"Exchange": "devprime",
"ExchangeType": "direct",
"Retry": "3",
"Fallback": "State1",
"Threads": "30",
"Buffer": "5",
"Subscribe": []
},
{
"Alias": "Stream2",
"Enable": "true",
"Default": "true",
"StreamType": "Kafka",
"Hostname": "Localhost",
"Port": "9092",
"User": "",
"Password": "",
"Retry": "3",
"Fallback": "State1",
"Subscribe":[]
}
],
|
Exemplo no log da aplicação com essa configuração:
1
2
|
[INF][Stream][Type "RabbitMQ"][Alias "Stream1"]["Enable"]
[INF][Stream][Type "Kafka"][Alias "Stream2"]["Enable"]
|
Exemplo YAML com as configurações da aplicação:
Para exportar as configurações como variável de ambiente e utilizar no Kubernetes execute o comando no Devprime CLI:
dp export kubernetes
1
2
3
4
5
6
7
8
|
- name: devprime_stream1
value: "alias=Stream1|||enable=true|||default=true|||streamtype=RabbitMQ|||
hostname=rabbitmq.default.svc|||user=guest|||password=guest|||port=5672|||
exchange=devprime|||exchangetype=direct|||retry=3|||fallback=State1|||
threads=30|||buffer=1"
- name: devprime_stream2
value: "alias=Stream2|||enable=true|||default=false|||streamtype=Kafka|||
hostname=kafka.default.svc|||port=9092|||retry=3|||fallback=State1"
|
Última modificação September 1, 2023 (072c5772)