Skip to content

terrorizer1980/docker-compose-demo

 
 

Repository files navigation

docker-compose-demo

Overview

This repository illustrates reference implementations of Senzing using docker-compose.

The instructions show how to set up a system that:

  1. Reads JSON lines from a file on the internet.
  2. Sends each JSON line as a message to a queue.
  3. Reads messages from the queue and inserts into Senzing.
  4. Reads information from Senzing via Senzing REST API server.
  5. Views resolved entities in a web app.

The following diagram shows the relationship of the docker containers in this docker composition. Arrows represent data flow.

Image of architecture

Implementation

The following table indicates the instructions for variations in components.

  1. Component variants:

    1. Queue
      1. AWS SQS
      2. RabbitMQ
      3. Kafka
    2. Database
      1. Postgres
      2. MySQL
      3. MS SQL
      4. Db2
  2. Implementations of the docker formation:

    Queue Database Instructions docker-compose.yaml
    AWS SQS PostgreSQL instructions docker-compose-sqs-postgresql.yaml
    Kafka Db2 instructions docker-compose-kafka-db2.yaml
    Kafka MSSQL instructions docker-compose-kafka-mssql.yaml
    Kafka MySQL instructions docker-compose-kafka-mysql.yaml
    Kafka PostgreSQL instructions docker-compose-kafka-postgresql.yaml
    RabbitMQ Db2 instructions docker-compose-rabbitmq-db2.yaml
    RabbitMQ MSSQL instructions docker-compose-rabbitmq-mssql.yaml
    RabbitMQ MySQL instructions docker-compose-rabbitmq-mysql.yaml
    RabbitMQ PostgreSQL instructions docker-compose-rabbitmq-postgresql.yaml
  3. Advanced docker formations:

    Instructions Notes
    instructions Various enhancements built upon Amazon SQS and PostgreSQL.
    instructions Various enhancements built upon RabbitMQ and PostgreSQL.
    instructions Various enhancements built upon Kafka and PostgreSQL.

About

Demonstrate Senzing stack using `docker-compose`.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 77.5%
  • Shell 22.5%