No description
Find a file
Patrik Nordwall 1d16e847b5 Reliable delivery in Typed, #20984
Different approach than in classic AtLeastOnceDelivery because I would like:
* support flow control, with a work pulling approach
* be possible to use with or without persistence (without it may loose
  messages if producer node crashes)
* detect lost messages on the consumer side and let that drive resends,
  instead of aggressively resending from producer side
* deliver messages in order and deduplicate resent messages
* have an efficient protocol for acknowledgments over the network (not ack each message),
  but still have a simple one-by-one protocol for the end user

* support 3 use cases (building blocks)
  * point-to-point
  * work pulling
  * sharding
* optional durable queue, with one event sourced implementation
* protobuf serialization
* ApiMayChange
* reference docs and examples
* api docs
* doc example code missing so far
2020-03-12 15:37:16 +01:00
.github Autolabeler configuration [skip ci] 2020-01-31 16:00:40 +01:00
akka-actor/src/main Adds ActorRef.ignore (#28630) 2020-03-12 12:40:56 +01:00
akka-actor-testkit-typed/src Adds ActorRef.ignore (#28630) 2020-03-12 12:40:56 +01:00
akka-actor-tests/src/test Clean up same thread execution contexts #26690 2020-03-10 15:39:30 +01:00
akka-actor-typed/src/main Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +01:00
akka-actor-typed-tests/src/test Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +01:00
akka-bench-jmh ByteString performance regression toArray on 2.13 (#28419) 2020-01-08 14:14:45 +01:00
akka-cluster Multi node test hardening for Sharding #27749 (#28631) 2020-02-27 12:05:55 -08:00
akka-cluster-metrics/src Merge remote-tracking branch 'akka/master' into scalatest310 2020-01-17 16:03:32 +03:00
akka-cluster-sharding/src Sharded Daemon Process #28710 2020-03-10 18:04:09 +01:00
akka-cluster-sharding-typed/src Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +01:00
akka-cluster-tools/src Update to ScalaTest 3.1.0, fix #28289. 2020-01-11 15:15:10 +03:00
akka-cluster-typed/src Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +01:00
akka-coordination/src Fix java leases usage from java and scala #28685 2020-03-10 14:47:32 +01:00
akka-discovery/src Improved error message when loading ServiceDiscovery impl 2020-01-31 15:50:03 +01:00
akka-distributed-data/src External shard allocation strategy (#28211) 2020-01-21 16:08:51 +00:00
akka-docs/src Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +01:00
akka-multi-node-testkit/src/main Update after merge 2020-01-17 16:56:15 +03:00
akka-osgi/src Update to ScalaTest 3.1.0, fix #28289. 2020-01-11 15:15:10 +03:00
akka-persistence/src Merge pull request #28598 from akka/wip-PluginHolder-patriknw 2020-03-02 22:48:19 +01:00
akka-persistence-query/src Fixes EventEnvelope unapply 2020-01-28 10:30:04 +01:00
akka-persistence-shared/src/test/scala/akka/persistence Update all copyright headers to 2020 after new year's #27881 (#28434) 2020-01-02 13:24:59 +01:00
akka-persistence-tck/src Update to ScalaTest 3.1.0, fix #28289. 2020-01-11 15:15:10 +03:00
akka-persistence-typed/src Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +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 Adds ActorRef.ignore (#28630) 2020-03-12 12:40:56 +01:00
akka-remote-tests/src reserve UPD or TPC ports according to artery config 2020-03-02 21:16:29 +01:00
akka-serialization-jackson/src test Jackson serialization of UUID 2020-02-05 10:12:00 +01:00
akka-slf4j/src Update all copyright headers to 2020 after new year's #27881 (#28434) 2020-01-02 13:24:59 +01:00
akka-stream/src/main Add docs and examples for RS fromPublisher #25468 2020-03-11 15:56:59 +01:00
akka-stream-testkit/src Update to ScalaTest 3.1.0, fix #28289. 2020-01-11 15:15:10 +03:00
akka-stream-tests/src/test Clean up same thread execution contexts #26690 2020-03-10 15:39:30 +01:00
akka-stream-tests-tck/src/test stream: add flatMapPrefix operator (#28380) 2020-02-05 15:37:27 +01:00
akka-stream-typed/src Update to ScalaTest 3.1.0, fix #28289. 2020-01-11 15:15:10 +03:00
akka-testkit/src Fix ExplicitlyTriggeredScheduler cancellation #28604 2020-03-11 16:30:37 +01:00
project Add docs and examples for RS fromPublisher #25468 2020-03-11 15:56:59 +01:00
scripts Fix authors script to run with 2.13 (#27145) 2019-06-19 08:54:07 +01:00
src/main/ls
.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 Ignore mockito updates (#28408) 2019-12-19 09:00:37 +01:00
.scalafix.conf Fix typos, via a Levenshtein-style corrector 2019-12-19 01:57:55 -05:00
.scalafmt.conf +sbt Add rewriteTokens (#28282) 2019-12-02 09:02:22 +01:00
.travis.yml Check headers on travis (#28466) 2020-01-14 13:41:46 +01:00
build.sbt Reliable delivery in Typed, #20984 2020-03-12 15:37:16 +01:00
CODE_OF_CONDUCT.md Update to Lightbend Community Code of Conduct 2019-08-30 18:08:47 +09:30
CONTRIBUTING.md Clarify 'bug' gh tag is for potential prod issues (#28633) 2020-03-02 14:32:10 +01:00
COPYING.protobuf
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 use sbt-dynver (#27042) 2019-12-16 14:33:17 +01: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.