Giter VIP home page Giter VIP logo

vortexia's Introduction

vortexia's People

Contributors

vladyslavvolkov avatar sublimeye avatar

Watchers

 avatar

vortexia's Issues

Implement Consumer Service

library-events-consumer

  • Setup service that subscribes to Kafka stream and writes events to the database
  • Log progress Info and Error events
  • Log Metrics to measure perf

Ability to scale horizontally

Implement Library API Service

Service: api-library-events

Implement a service responsible for internal library data storage and usage:

  • init database
  • provide CRUD operations as REST/gRPC/GQL or other approach
    • write library events into db (called consumer)
    • read library events from db (called by UI layer, could be called by another Client API layer if needed)
  • in future, consider switching to push model + websockets (might be a different service)
  • log info events and errors
  • metrics to measure perf

Setup Logger service

Considering ELK stack

  • Expose access to internal services to log
  • Expose access to client UI App to log

See if frontend + backend logging can be tied to a sessionId and being traceable end to end

Setup Secret Management software

Setup secret management tools to store all secrets
Candidates: Doppler or Vault

  • Define tree hierarchy for secrets locations, e.g.

/{project}/{service}/{variable}/{env /w default}

e.g.

  • /vortexia/lib-souce-kafka-producer/some-secret/default
  • /vortexia/lib-souce-kafka-producer/some-secret/stage

Services to consider

  • logger service: creds/auth
  • database: creds
  • producer: kafka auth? or might be an internal service
  • consumer: internal service, or creds to access API service
  • API service
    • db access

Implement Producer Service

library-events-producer

  • Setup a service that polls library events every X minutes and posts as events into Kafka messaging
  • Events should be idempotent: kafka should dedupe
  • Log Events and Errors
  • Log Metrics to measure perf

Optional Extra

  • Consider availability, should be able to run multiple pods, preferably avoiding duplicate events*

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.