Inter-service Communications

There are four ways of inter-service communication within the system:

  • Synchronous REST API calls;
  • Distributed ledger transactions(for a platform to platform communication);
  • Asynchronous events(Apache Kafka is the event log);
  • Read-only access to the database(ad-hoc solution for ingestion of data from distributed ledger to Horizon service);

Following diagram presents the main data flows and connections between services.

  • Auth service:
    • gets horizon accounts data;
  • Third Party Cart:
    • writes Carfax reports to Storage service,
    • gets lots and accounts from horizon,
    • polls payment service transactions;
  • Auctioneer:
    • gets lots and deposits from horizon,
    • closes/finishes shelf lots and direct sales, updates deposit states on horizon,
    • polls payment service transactions;
  • IAAI Syncer:
    • creates new lots and bids from IAAI on horizon,
    • closes/finishes IAAI lots on horizon;
  • Copart Scrapper:
    • gets parsed Copart lots and bids from Copart Parser,
    • creates new lots and bids from Copart on horizon;
  • Horizon:
    • ingests data from Core database,
    • pings Core info endpoint,
    • publishes events to 'notifications' topic;
  • Booster:
    • gets horizon lots,
    • publishes events to 'promotions' topic;
  • Azry:
    • gets horizon lots and accounts,
    • publishes events to 'notifications' topic;
  • Notification Hub:
    • listens to 'notifications' topic events;
    • publishes events to 'mails' topic;
  • Mailer:
    • listens to 'mails' topic events;

results matching ""

    No results matching ""