Coder Social home page Coder Social logo

ankit1987 / flux Goto Github PK

View Code? Open in Web Editor NEW

This project forked from flipkart-incubator/flux

0.0 1.0 0.0 4.55 MB

Highly scalable Event-driven, Reactive system for building Stateful apps and Workflow services.

License: Apache License 2.0

Java 84.16% Shell 0.09% CSS 4.27% JavaScript 4.27% HTML 2.18% FreeMarker 5.04%

flux's Introduction

Flux

Flux is an asynchronous, scalable, optionally multi-tenant & distributed and reliable state machine based orchestrator. Flux can be used to build Workflows and Reactive apps that are stateful.

Please go through the wiki pages to find out more about flux.

Releases

Release Date Description
Version 1.0-SNAPSHOT Jun 2016 First release for user trials
Version 1.0.3-SNAPSHOT Oct 2016
Version 1.0.4-SNAPSHOT Dec 2016

Changelog

Changelog can be viewed in CHANGELOG.md file

Why Flux

A number of real-world stateful systems like workflows, event-driven reactive apps can be modeled as state machines. Event sources are many - user actions, messages passed between systems and data changes to business entities. Flux provides a programming model and client SDK to build event-driven reactive apps. The runtime allows to run multiple state machine instances concurrently.

Flux Visualization & Monitoring

Flux allows you to monitor real-time execution of all running state machine tasks. Default path for dashboard is http://localhost:9999/admin/dashboard

Additionally, you can also inspect individual state machine execution DAGs and audit data:

![Audit] (https://github.com/flipkart-incubator/flux/raw/master/docs/audit_records.png)

Visit https://www.youtube.com/watch?v=DxyNcntnVzQ&feature=youtu.be to see how Flux state machine instance graph and audit look like.

Documentation and Examples

Flux examples are under "examples" module. Each example can be run independently. Flux has very few dependencies and the simplest examples can be run in under 5 minutes. Documentation is continuously being added to the Flux wiki

Getting help

For help regarding usage, or receiving important announcements, subscribe to the Flux users mailing list: http://groups.google.com/group/flux-users To get involved in the evolution of Flux, subscribe to the Flux interest mailing list: http://groups.google.com/group/flux-interest

License

Flux is licensed under : The Apache Software License, Version 2.0. Here is a copy of the license (http://www.apache.org/licenses/LICENSE-2.0.txt)

Building with Flux

The Flux system design is organized into multiple layers to support building, testing, deploying and operating workflows in a shared environment:

Layers

  • UI - Provides for inspecting workflow execution and administration tasks on deployed instances/templates
  • API/Modelling - Provides primitives for modelling State machines and reacting to state transitions, complex DAG-like workflows
  • Runtime - Multiple variants from single JVM to distributed and isolated runtimes
  • Integration - Support for operating the system i.e. Monitoring, Metrics and RPC mechanisms for running isolated runtimes
  • Deployment - Providing mechanisms for cluster discovery, work distribution

flux's People

Contributors

ashishbhutani avatar bhaskarroyflipkart avatar chandresh-pancholi avatar gauravashok avatar kartikaditya avatar regunathb avatar shyamakirala avatar sibasethy avatar yogeshnachnani avatar

Watchers

 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.