Giter VIP home page Giter VIP logo

cqrs's Introduction

cqrs.io

Common Code is looking to create a Realtime / Event loop based messaging system to assist the functioning of CQRS systems implemented in Python / Django & JS / Node / Meteor.

It's expected, however, that the system may include other language implementations.

CQRS

CQRS is an architecture that separates the Write DB to the Read DB; amongst other assumptions; in order to create performant systems.

Objectives

The early objectives of the system are:

  • provide a Client system realtime messaging on events pertaining to the update / writing of data on the Command/Server side of the architecture

For example:

  • We have a Django managed RDBMs with Polymorphic models supporting business logic.
  • There is a REST or RPC API that the client, Meteor / Node, "Read" side โ€“ requests an update, say "add a product to cart"
  • Because there are several operations that the Django side must perform, i.e.:
    • Put the task in a queue | Write to the DB | Trigger the signal to serialize | Serialize all the relevant Document collections
  • We want to "inform" the client system on the stages of progress.

Other Objectives

  • There will be other Verbs and Responses that we might create; discuss what these might be.

Technologies

The following technologies are interesting:

  • zerorpc
  • Meteor's DDP (Dynamic Data Protocol)
    • See also python implemented DDP clients
  • Tornado
  • GEvent
  • CQRS
  • JSON / MessagePack / 0MQ

Other Comments

  • "In someways, this might turn out to be a sort of DDP Server written in Python"
  • "... it'll be interesting to create a distributed realtime protocol to support the business logic of our solutions."
  • "... Common Code is interested in creating systems that are more Statefull... this idea seems to support that... and as an alternative to the Request / Response metaphor that HTTP has given us"

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.