msgflo
所属分类:中间件编程
开发工具:CoffeeScript
文件大小:0KB
下载次数:0
上传日期:2021-01-31 09:11:16
上 传 者:
sh-1993
说明: 基于消息队列的分布式流编程
(Distributed Flow-Based Programming via message queues)
文件列表:
.npmignore (91, 2019-03-06)
.travis.yml (1065, 2019-03-06)
CHANGES.md (3112, 2019-03-06)
Gemfile (73, 2019-03-06)
Gruntfile.coffee (2102, 2019-03-06)
LICENSE (1083, 2019-03-06)
bin/ (0, 2019-03-06)
bin/msgflo (52, 2019-03-06)
bin/msgflo-dump-message (56, 2019-03-06)
bin/msgflo-jobstats-newrelic (60, 2019-03-06)
bin/msgflo-procfile (95, 2019-03-06)
bin/msgflo-register (77, 2019-03-06)
bin/msgflo-register-foreign (68, 2019-03-06)
bin/msgflo-send-message (56, 2019-03-06)
bin/msgflo-setup (51, 2019-03-06)
doc/ (0, 2019-03-06)
doc/fosdem2017/ (0, 2019-03-06)
doc/fosdem2017/slides.odp (214188, 2019-03-06)
doc/fosdem2017/slides.pdf (132322, 2019-03-06)
doc/msgflo-system-example-cloud.png (160490, 2019-03-06)
doc/msgflo-system-example-cloud.svg (53053, 2019-03-06)
doc/orchestrate2017/ (0, 2019-03-06)
doc/orchestrate2017/broker-model.png (30891, 2019-03-06)
doc/orchestrate2017/broker-model.svg (5465, 2019-03-06)
doc/orchestrate2017/direct-communication.png (26490, 2019-03-06)
doc/orchestrate2017/direct-communication.svg (3940, 2019-03-06)
doc/orchestrate2017/slides.odp (1856216, 2019-03-06)
doc/orchestrate2017/slides.pdf (777890, 2019-03-06)
fbp-config.json (85, 2019-03-06)
graphs/ (0, 2019-03-06)
graphs/hello.fbp (101, 2019-03-06)
graphs/hello.json (711, 2019-03-06)
index.js (42, 2019-03-06)
package.json (1529, 2019-03-06)
site/ (0, 2019-03-06)
site/CNAME (11, 2019-03-06)
... ...
MsgFlo - Flow-Based Programming with Message Queues [![Build Status](https://travis-ci.org/msgflo/msgflo.svg?branch=master)](https://travis-ci.org/msgflo/msgflo)
===================================================
Implementation of the [Flow-Based Programming](http://en.wikipedia.org/wiki/Flow-based_programming)
using message queues as the communications layer between different processes.
Initial message queue transports targeted are
[AMQP](http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol)
and [MQTT](http://mqtt.org).
MsgFlo lets you build robust polyglot FBP systems spanning multiple computers/devices.
A node can be implemented in any language, to reuse existing code, libraries and developer know-how.
In FBP each component is a black-box that processes and produces data,
without knowledge about where the input data comes from, or where the output data goes.
This ensures that a service is easy to change, and facilitates automated testing.
MsgFlo is designed to enable partial and gradual integration into existing systems;
by using standard broker/transports, not placing restrictions on message payloads,
allowing to use existing queue names, and integrating non-MsgFlo nodes seamlessly.
## Status
**In Production**
* Used in production at [TheGrid](https://thegrid.io) website builder, with **AMQP**/RabbitMQ. 20 roles, 1'000'000 jobs/weekly+
* Used in production in [imgflo image processing server](https://github.com/jonnor/imgflo-server). 4 roles, 200'000 jobs/weekly+
* Used for IoT networks at hackerspaces [c-base](https://github.com/c-base/c-flo)
and [Bitraf](https://github.com/bitraf/bitraf-iot), using **MQTT**/Mosquitto.
Client support
* [msgflo-nodejs](./src/participant.coffee) makes it easy to make [Node.js](http://nodejs.org/) participants in **JavaScript**/**CoffeeScript**
* [noflo-runtime-msgflo](https://github.com/noflo/noflo-runtime-msgflo)
makes it super easy to use [NoFlo](http://noflojs.org) in the participants
* Basic support for **C++** participants with [msgflo-cpp](https://github.com/msgflo/msgflo-cpp) and [MicroFlo](https://github.com/microflo/microflo)
* Basic support for **Python** participants with [msgflo-python](https://github.com/msgflo/msgflo-python)
* Basic support for **browser** participants with [msgflo-browser](https://github.com/msgflo/msgflo-browser)
* Basic support for **Arduino** participants with [msgflo-arduino](https://github.com/msgflo/msgflo-arduino)
* Experimental support for **Rust** participants with [msgflo-rust](https://github.com/msgflo/msgflo-rust)
Tooling
* `msgflo` executable implements the [FBP runtime protocol](https://flowbased.github.io/fbp-protocol).
* Initial support for automated testing using [fbp-spec](https://github.com/flowbased/fbp-spec)
* Experimental support for visually building networks using [Flowhub](https://flowhub.io/)
* [guv](http://github.com/the-grid/guv) provides autoscaling of workers when using Heroku/AMQP.
## Licence
MIT, see [./LICENSE](./LICENSE)
## Documentation
Please refer to
## Support
[![Flowhub logo](https://flowhub.io/assets/banner-github.png)](https://flowhub.io)
MsgFlo is a part of [Flowhub](https://flowhub.io), a platform for building robust [IoT systems](https://flowhub.io/iot) and web services.
We offer an [Integrated Development Environment](https://app.flowhub.io) and [consulting services](https://flowhub.io/consulting).
## Debugging
The msgflo executable, as well as the transport/participant library
uses the [debug NPM module](https://www.npmjs.com/package/debug).
You can enable (all) logging using:
export DEBUG=msgflo*
近期下载者:
相关文件:
收藏者: