Multistream

La plataforma Devprime, a través del Stream Adapter, ofrece el enfoque Multistream, permitiendo la integración de más de un servicio Stream en un único microservicio.

Al adoptar la estrategia Multistream a través de la configuración del Stream Adapter, es posible activar, por ejemplo, RabbitMQ y Kafka al mismo tiempo para cumplir con escenarios específicos. Todos los eventos recibidos por el adaptador de flujo se procesan en el método StreamEvents() que ofrece el adaptador de flujo en la 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":[]
    }
  ],

Ejemplo en el registro de la aplicación con esta configuración:

1
2
[INF][Stream][Type "RabbitMQ"][Alias "Stream1"]["Enable"]
[INF][Stream][Type "Kafka"][Alias "Stream2"]["Enable"]

Ejemplo de YAML con la configuración de la aplicación:
Para exportar las configuraciones como una variable de entorno y usarlas en Kubernetes, ejecute el comando en la CLI de Devprime:
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 modificación October 17, 2023 (e38ae05b)