Prerrequisitos
Para instalar correctamente el servicio Trade Notifications API, se debe considerar un sistema que cumpla con los siguientes requisitos mínimos:
Ubuntu Server (18.04, LTS u otro Linux similar)
Memoria RAM: 8 GB
Disco: 50 GB
Partiendo de esta base, se debe tener un usuario a disposición, que sea distinto de root y que no pertenezca al grupo de usuarios sudoers, con permisos de ejecución para los siguientes comandos instalados:
docker (versión 19.03.12 o superior)
Documentación oficial: https://docs.docker.com/engine/install/ubuntu/
docker compose
Documentación oficial: https://docs.docker.com/compose/install/
vim
bash
htop
git
A modo de ejemplo, proponemos las siguientes sentencias a ejecutar durante la configuración, para permitir la ejecución de los comandos docker y docker compose por parte del usuario disponibilizado (al que en el presente documento llamaremos usr-mercap y recordemos, no debe ser root ni tener permisos de sudoer) a través del grupo de usuarios de docker:
usermod -aG docker usr-mercapAl finalizar las configuraciones previas, el usuario usr-mercap debería ser capaz de ejecutar los siguientes comandos de ejemplo sin necesidad de invocar el programa sudo:
docker ps
docker -v
docker compose versionEl servicio Trade Notifications API será ejecutado mediante docker, usando contenedores a los que se acceden a través de una imagen en docker-registry.mercapsoftware.com.ar/trading-room/trade-notifications-api:tag. En la sección “tag” de la url tiene que ir la versión de la imagen de docker, por ejemplo v1.1.0.
Importante: Cabe destacar, que el aplicativo docker hace uso de redes internas para comunicar los diferentes contenedores, dentro de una subnet en particular
La misma por default es 172.17.0.0/16. De ser necesario modificar dicha red y su máscara (por ya estar en uso o por cualquier otro motivo), en el archivo /etc/docker/daemon.json se puede agregar la siguiente configuración, cambiando por ejemplo la subnet default a la 10.20.30.0/26:
Reiniciar el servidor una vez configurado el archivo. Por otro lado, el servicio se puede instalar en cualquier directorio. Como ejemplo, en esta guía tomaremos el path: /opt/mercap. Cabe aclarar que el usuario usr-mercap debe tener permisos de lectura, escritura y ejecución sobre dicho path y sus subdirectorios.
Por último, mencionaremos que el servicio hace uso de dos contenedores, cada uno requiere una dirección IP. Sumando la dirección IP utilizada por el servidor de docker, se requerirán tres direcciones IP en total, que serán mapeadas dentro de un nuevo segmento exclusivo para Trade Notifications API (el segmento default de docker puede quedar disponible para futuros servicios que hagan uso de docker y sean ajenos a Mercap, por lo que nos despreocuparemos del mismo). Cuando profundicemos en la configuración del servicio, entraremos en detalle sobre esta configuración particular.
Además, el servicio se comunica con el aplicativo Mercap Trading Room mediante un puerto en el servidor host. Dicho puerto también se especificará en la configuración del Trade Notifications API y debe ser alcanzable desde fuera del servidor. Por default es el 5672. Además, el servicio levanta un servidor SOAP y otro REST para la comunicación con los sistemas de Back Office. El servidor SOAP dispondrá su WSDL mediante una dirección URL y un puerto, el REST también tendrá su propia URL y puerto. Todo esto es configurable en el archivo de configuración del Trade Notifications API.

Esquema general del servicio Trade Notifications API
Last updated