Git Product home page Git Product logo

paramore's Introduction

================================= Brighter

![canon] (https://openclipart.org/people/amilo/canon.svg) Brighter is a command dispatcher, processor, and task queue. It can be used to implement the [Command Invoker] (http://servicedesignpatterns.com/WebServiceImplementationStyles/CommandInvoker) pattern
Version NuGet Version
Download NuGet Downloads
Web http://iancooper.github.io/Paramore/
Source https://github.com/iancooper/Paramore
Chat Join the chat at https://gitter.im/iancooper/Paramore
Keywords task queue, job queue, asynchronous, async, rabbitmq, amqp, c#, command, command dispatcher, command processor, queue, distributed

Why a Command Dispatcher, Command Processor, and Task Queue?

  • When implementing a hexagonal architecture, one question is how to implement a port.
  • A command processor let's you add orthogonal concerns seperately to the processing of commands such as logging, undo, validation, retry, and circuit breaker
    • Brighter provides a Command Processor, using a 'Russian Doll' model to allow a pipeline of handlers to operate on a command.
  • A task queue allows a one process to send work to be handled asynchronously to another process, using a message queue as the channel, for processing. A common use case is to help a web server scale by handing off a request to another process for back-end processing. This allows both a faster ack and throttling of the request arrival rate to that which can be handled by a back end processing component. For another project with this goal, see Celery
    • Brighter provides a Task Queue implementation for handling commands asynchronously via a work queue.
  • More detailed documentation on the project can be found on the GitHub pages for the project here: Paramore

What are the different branches?

Branch Description
Master The tip of active development. Anything in master should ship at the next release. Code here should conform to CI basics: compile, pass tests etc.
gh-pages Documentation for the library
[Other] A branch for any work that is not ready to go into master (for example would break CI) or is experimental i.e. we don't know if we intend to ever ship, we are just trying out ideas.

##How Do I get the NuGet packages for the latest build? We release the build artefacts (NuGet packages) to Nuget on a regular basis and we update the release notes on those drops. We also tag the master code line. If you want to take the packages that represent master at any point you can download the packages for the latest good build from AppVeyor. The easiest approach to using those is to download them into a folder that you add to your NuGet sources.

Coverity Scan Build Status

Build status

================================= Brightside

![replay] (https://openclipart.org/download/97987/bulb-01.svg) Brightside is a Python Service Activator
Version 1.0.0.pre-
  • Under Construction
  • Allows you to consume messages raised in Paramore.Brighter.CommandProcessor in Python
  • In essence, it competes with Celery, whose use of RPC over messaging creates coupling issues
  • (Yes, it violates are discography based naming scheme, but given Monty Python and "Always look on the bright side of life, it was too tempting).

================================= Renegade

![replay] (https://openclipart.org/download/170451/biker-b-w.svg) Renegade is an implementation of the RESTMS protocol on the CLR.
Version 1.0.0.pre-
  • Under Construction
  • Not production ready, as it is transient (i.e. everything is in memory) and needs persistence, HA etc.

================================= Rewind

![replay] (https://openclipart.org/people/pydubreucq/replay-sign.svg) Rewind is an example of a microservices architectural style implemented using Brighter
Version 1.0.0.pre-
  • An example .NET project using Brighter
  • Provides an example of the following architectural styles:
  • Microservices
  • Hierachical Systems
    • N-Tier inc. Hexagonal Architecture (Ports and Adapters)
    • CQRS
  • Data Centric Systems
    • OO Domain Model (see below.. )
  • Data Flow Systems
    • Piplines
  • Interacting Processess
    • Broker
  • Client-Server (REST, SPA)

paramore's People

Contributors

dstockhammer avatar gitter-badger avatar holytshirt avatar ianbattersby avatar iancooper avatar mark-data8 avatar mathysd avatar mrhypnos avatar penderi avatar red-f avatar strand avatar yiannistri avatar

Watchers

 avatar  avatar  avatar

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.