Skip to content

Commit

Permalink
[fix] README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Zensey committed Aug 17, 2020
1 parent 1976ddb commit 2ee7374
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#### Data routing engine
# go-data-routing

Based on the concept of EIP (enterprise integration patterns) and go-pool-of-workers
The library provides a pipeline engine for stream processing of data.
It is based on the concept of EIP (enterprise integration patterns).

# Features
The library provides the following primitives:
- route (chain of nodes processing messages)
- node:
Expand All @@ -12,15 +14,18 @@ The library provides the following primitives:

All the primitives are accessible through DSL.

## Examples:
- a simplistic bfs crawler: `go run examples/crawler/main.go`


Design of node:
## Design of node:
- each node is connected with the next one (if exists) only with 1 channel
- node owns an _input_ channel
- _output_ is just a reference to the _input_ of next node
- node does not close the _output_ channel, instead it just sends a _Stop_ msg to a next node
- if a node is the last in a chain than an output message being sent is discarded unless it's not a _RequestReply_

Route builder DSL:
## Route builder DSL:
```cgo
type Route interface {
Source (f func(n *Node)) Route
Expand All @@ -32,11 +37,8 @@ type Route interface {
}
```

Examples:
- a simplistic bfs crawler: `go run examples/crawler/main.go`


#### Related links
## Related links
* https://github.com/zensey/go-pool-of-workers
* https://github.com/chuntaojun/go-fork-join
* https://github.com/spatially/go-workgroup

0 comments on commit 2ee7374

Please sign in to comment.