Git Product home page Git Product logo

crowd's People

Contributors

marceloboeira avatar mauricioabreu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mauricioabreu

crowd's Issues

Support different endpoint mappings over a configuration file

It would be essential to have a external configuration file that we could use to setup the route/sink adapters maps:

routes:
  - path: "/foo"
    sink: 
      adapter: redis
      uri: "redis://[USER]:[PASSWORD]@[IP]:[PORT]"
  - path: "/bar"
    sink: 
      adapter: sqs
      ...

then, we could have something like:

crowd -f crowd.yml

Which crowd.yml could be the default ...

Travis CI build

@mauricioabreu I'll take care of this, I just wanted to figure if there is anything we should look for on matrix of tests (linux specific or even, go versions?) I'm really outdated when it comes to Golang versions and dependency management... it changes faster than javascript frameworks ahhah

Add support for other queue backends

Is it worth to add support for other backends? It could be achieved using go interfaces.
We could start with redis, writing a code that is easy to use different queue vendors.

  • Test current SQS backend
  • Implement a new backend like redis

Sink Buffer

Add support to a sink buffer, to avoid round-trips on every incoming request.

The buffer should be configurable through the configuration file: #3.

The buffer should have a configurable timeout too, something like, "100 messages OR 1 second" and it could be adjustable per sink.

routes:
  - path: "/foo"
    sink: 
      adapter: redis
      uri: "redis://[USER]:[PASSWORD]@[IP]:[PORT]"
      buffer:
        size: 100
        timeout: 1s

document that sink buffers are volatile and shouldn't be used for situations that there is no tolerance for message dropping.

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.