No description
Find a file
James Roper 558160702b
Added MergeSequence graph stage (#29247)
Fixes #28769

Use case for this is if you have a sequence of elements that has been
partitioned across multiple streams, and you want to merge them back
together in order. It will typically be used in combination with
`zipWithIndex` to define the index for the sequence, followed by a
`Partition`, followed by the processing of different substreams with
different flows (each flow emitting exactly one output for each input),
and then merging with this stage, using the index from `zipWithIndex`.

A more concrete use case is if you're consuming messages from a message
broker, and you have a flow that you wish to apply to some messages, but
not others, you can partition the message stream according to which
should be processed by the flow and which should bypass it, and then
bring the elements back together acknowledgement. If an ordinary merge
was used rather than this, the messages that bypass the processing flow
would likely overtake the messages going through the processing flow,
and the result would be out of order offset acknowledgement which would
lead to dropping messages on failure.

I've included a minimal version of the above example in the documentation.
2020-07-09 11:52:46 -04:00
.github Autolabeler configuration [skip ci] 2020-01-31 16:00:40 +01:00
akka-actor/src/main Allow 2.5 snapshot requirement in version check (#29363) 2020-07-09 17:01:24 +02:00
akka-actor-testkit-typed/src BehaviourTestKit: Add receptionist inbox (#29294) 2020-07-08 09:15:13 +02:00
akka-actor-tests/src/test Allow 2.5 snapshot requirement in version check (#29363) 2020-07-09 17:01:24 +02:00
akka-actor-typed/src/main Ok/error protocol and failable ask #29186 (#29190) 2020-07-09 16:57:53 +02:00
akka-actor-typed-tests/src/test Ok/error protocol and failable ask #29186 (#29190) 2020-07-09 16:57:53 +02:00
akka-bench-jmh add lz4 compression for jackson (#29012) 2020-05-22 13:37:22 +02:00
akka-cluster Revert "Flush messages before DeathWatchNotification, #28695 (#28940)" (#29357) 2020-07-08 13:11:46 +02:00
akka-cluster-metrics/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-cluster-sharding/src ClusterShardingSpec: Enable log capturing 2020-06-29 12:21:59 +01:00
akka-cluster-sharding-typed/src Ok/error protocol and failable ask #29186 (#29190) 2020-07-09 16:57:53 +02:00
akka-cluster-tools/src minor comment fix in ClusterSingletonManager.scala, removed extra word 2020-06-26 15:36:17 -04:00
akka-cluster-typed/src Ok/error protocol and failable ask #29186 (#29190) 2020-07-09 16:57:53 +02:00
akka-coordination/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-discovery/src Add imports to discovery scala snippets (#29220) 2020-06-11 12:31:41 +02:00
akka-distributed-data/src Add type annotation for public method (#29184) 2020-06-05 10:42:11 +02:00
akka-docs/src Added MergeSequence graph stage (#29247) 2020-07-09 11:52:46 -04:00
akka-multi-node-testkit/src/main Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-osgi/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-persistence/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-persistence-query/src Validate leveldb write plugin is enabled for leveldb read plugin (#29288) 2020-06-24 08:01:03 +01:00
akka-persistence-shared/src/test/scala/akka/persistence Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-persistence-tck/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-persistence-testkit/src Reduce assert time and increase poll freq PersistentTestKit (#29296) 2020-07-08 09:10:37 +02:00
akka-persistence-typed/src Ok/error protocol and failable ask #29186 (#29190) 2020-07-09 16:57:53 +02:00
akka-pki/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-protobuf/src/main/java/akka/protobuf Update all copyright headers to 2020 after new year's #27881 (#28434) 2020-01-02 13:24:59 +01:00
akka-remote/src Ok/error protocol and failable ask #29186 (#29190) 2020-07-09 16:57:53 +02:00
akka-remote-tests/src dotty phase 3: Some required syntax changes (#29139) 2020-06-25 09:47:31 +02:00
akka-serialization-jackson/src Avoid 'dead code after this construct' warnings in jackson-databind example (#29278) 2020-06-23 09:15:17 +02:00
akka-slf4j/src dotty phase 3: Some required syntax changes (#29139) 2020-06-25 09:47:31 +02:00
akka-stream/src/main Added MergeSequence graph stage (#29247) 2020-07-09 11:52:46 -04:00
akka-stream-testkit/src Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-stream-tests/src/test Added MergeSequence graph stage (#29247) 2020-07-09 11:52:46 -04:00
akka-stream-tests-tck/src/test Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
akka-stream-typed/src Docs: Actor sink stream operators (#29171) 2020-07-01 21:27:29 +02:00
akka-testkit/src dotty phase 3: Some required syntax changes (#29139) 2020-06-25 09:47:31 +02:00
project Added MergeSequence graph stage (#29247) 2020-07-09 11:52:46 -04:00
scripts Fix authors script to run with 2.13 (#27145) 2019-06-19 08:54:07 +01:00
src/main/ls Update ls.implicit.ly sbt settings 2012-03-10 10:30:38 +13:00
.gitignore Add 'core' and 'dumps' to gitignore (#27423) 2019-07-30 08:11:05 +01:00
.jvmopts-travis Use Adopt JDK 8 in Travis 2019-01-02 13:56:33 +01:00
.sbt-java-formatter.conf Allow opt out of code discipline (#28588) 2020-02-14 15:19:10 +01:00
.sbtopts Update sbt to 1.3.2 (#26935) 2019-10-01 13:49:02 +02:00
.scala-steward.conf Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
.scalafix.conf Merge master into re feature branch (#29135) 2020-05-27 12:50:53 +01:00
.scalafmt.conf +sbt Add rewriteTokens (#28282) 2019-12-02 09:02:22 +01:00
.travis.yml Use Scalal 2.12.11 (#28754) 2020-03-20 08:33:25 +00:00
build.sbt Update sbt-assembly to 0.15.0 (#29301) 2020-07-01 11:03:28 +02:00
CODE_OF_CONDUCT.md Update to Lightbend Community Code of Conduct 2019-08-30 18:08:47 +09:30
CONTRIBUTING.md Removing, deprecating and replacing usage of black/whitelist (#29254) 2020-06-18 15:48:28 +02:00
COPYING.protobuf =all #13783 replace protobuf dependency by embedded version 2015-09-04 09:06:50 +02:00
LICENSE Include the full apache license text (#23992) 2017-11-14 16:47:33 +01:00
README.md Add Travis build status badge and fix Scaladex latest version badge #26782 2019-04-23 08:56:35 +02:00
RELEASING.md Updates to releasing steps (#29201) 2020-06-09 14:03:06 +02:00

Akka Latest versionBuild Status

We believe that writing correct concurrent & distributed, resilient and elastic applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction.

Akka is here to change that.

Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications. This model is a perfect match for the principles laid out in the Reactive Manifesto.

For resilience, we adopt the "Let it crash" model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.

Actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.

Learn more at akka.io.

Reference Documentation

The reference documentation is available at doc.akka.io, for Scala and Java.

Community

You can join these groups and chats to discuss and ask Akka related questions:

In addition to that, you may enjoy following:

Contributing

Contributions are very welcome!

If you see an issue that you'd like to see fixed, the best way to make it happen is to help out by submitting a pull request implementing it.

Refer to the CONTRIBUTING.md file for more details about the workflow, and general hints on how to prepare your pull request. You can also ask for clarifications or guidance in GitHub issues directly, or in the akka/dev chat if a more real time communication would be of benefit.

A chat room is available for all questions related to developing and contributing to Akka: gitter: akka/dev

License

Akka is Open Source and available under the Apache 2 License.