Introducción
Configuración y Tiempo de Ejecución
The SEPA CT PASO2 CSM es esencialmente una aplicación independiente que puede ejecutarse como un servicio, al igual que cualquier otra. IPF application despliegue. Así que, como decida ejecutar su IPF applications usted puede hacer lo mismo para esto CSM.
Configuración
A continuación, puede ver la configuración mínima necesaria para poner el servicio en funcionamiento. Tenga en cuenta los aspectos clave relacionados con la provisión de la MongoDB URL, el predeterminado Akka configuración y su Kafka URL.
akka {
cluster.seed-nodes = ["akka://"${actor-system-name}"@0.0.0.0:"${akka.remote.artery.canonical.port}]
remote.artery {
canonical.port = 55001
canonical.hostname = 0.0.0.0
bind.hostname = 0.0.0.0
bind.port = 55001
}
}
ipf.mongodb.url = "mongodb://ipf-mongo:27017/sepact"
ipf.csm.sepa-ct {
processing-entity {
valid-agent-bics = [
{
direct-participant-bic = "<BICFI>"
indirect-participant-bics = [
"<BICFI>"
]
}
]
}
}
common-kafka-client-settings {
bootstrap.servers = "kafka:9092"
}
akka.kafka {
producer {
kafka-clients = ${common-kafka-client-settings}
}
consumer {
kafka-clients = ${common-kafka-client-settings}
}
}
Configuración Específica del Cliente
Por supuesto, puede proporcionar configuraciones específicas para el cliente en ciertos aspectos dentro del servicio.
Una cosa común que usted podría considerar hacer específica son los Kafka nombres de temas (por ejemplo Desmenuzador Kafka Configuración).
Otras configuraciones están disponibles y se describen en la sección correspondiente del documento de características (Características).
Ejecutando
El siguiente yml es un ejemplo para que usted pueda levantar el servicio localmente y contiene la configuración para los contenedores dependientes (Kafka, Zookeeper y MongoDB). Usted debe seleccionar la sección apropiada para "step2csm" que tomará como punto de partida para su entorno de despliegue.
version: "2.1"
services:
ipf-mongo:
image: mongo:4.4.15
container_name: ipf-mongo
ports:
- "27018:27017"
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongo localhost:27017/test --quiet
step2csm:
image: releases-registry.ipfdev.co.uk/sepact-csm-application-kafka:0.1.0
container_name: sepact-csm-application
ports:
- "8083:8080"
- "8561:8558"
- "5009:5005"
- "55003:55001"
- "9003:9001"
- "8087:8084"
volumes:
- /tmp/logs:/ipf/logs
- ./config/step2csm:/sepact-csm-application-kafka/conf
environment:
- IPF_JAVA_ARGS=-Dma.glasnost.orika.writeClassFiles=false -Dma.glasnost.orika.writeSourceFiles=false -Dconfig.override_with_env_vars=true
depends_on:
- ipf-mongo
healthcheck:
test: [ "CMD", "curl", "http://localhost:8080/actuator/health" ]
zookeeper:
image: zookeeper:latest
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.13-2.7.1
container_name: kafka
depends_on:
- zookeeper
ports:
- "9092:9092"
- "9099:9099"
environment:
- KAFKA_BROKER_ID=0
- KAFKA_AUTO_CREATE_TOPICS_ENABLE=false
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_LOG_RETENTION_MINUTES=10
- KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
- KAFKA_OFFSETS_TOPIC_NUM_PARTITIONS=1
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=TEST:PLAINTEXT,PLAINTEXT:PLAINTEXT
- KAFKA_LISTENERS=PLAINTEXT://:9092,TEST://:9099
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,TEST://localhost:9099
- KAFKA_CREATE_TOPICS=IPF_PROCESSING_DATA:1:1,PMS_TO_PIS:1:1,PIS_TO_PMS:1:1,PIS_TO_PES:1:1,PRS_TO_IPF:1:1
kafdrop:
image: obsidiandynamics/kafdrop:latest
container_name: kafdrop
ports:
- "9000:9000"
environment:
- KAFKA_BROKERCONNECT=kafka:9092
depends_on:
- kafka