Distributed pubsub for typed (#28625)

* First stab at distributed pubsub for typed

* Also allow sending to a single subscriber across the topic

* Revert "Also allow sending to a single subscriber across the topic"

This reverts commit 4fd4f0b75c0dda01706dcde70645dcfa09da889b.

* Serializer and basic multi-jvm test

* docs

* Review feedback

* This reads better

* One brace too many

* sample formatting/headers/yadi

* Hide actual messages to ease bincomp evolution

* More tesssssts

* And even moar tessssssssts

* Review feedback addressed

* Same serialization as typed sharding
Mention turnaround in docs
This commit is contained in:
Johan Andrén 2020-03-10 15:01:19 +01:00 committed by GitHub
parent 27da0a23a9
commit 59ce257209
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 1312 additions and 96 deletions

View file

@ -290,7 +290,8 @@ lazy val protobufV3 = akkaModule("akka-protobuf-v3")
exportJars := true, // in dependent projects, use assembled and shaded jar
makePomConfiguration := makePomConfiguration.value
.withConfigurations(Vector(Compile)), // prevent original dependency to be added to pom as runtime dep
packageBin in Compile := ReproducibleBuildsPlugin.postProcessJar((assembly in Compile).value), // package by running assembly
packageBin in Compile := ReproducibleBuildsPlugin
.postProcessJar((assembly in Compile).value), // package by running assembly
// Prevent cyclic task dependencies, see https://github.com/sbt/sbt-assembly/issues/365
fullClasspath in assembly := (managedClasspath in Runtime).value, // otherwise, there's a cyclic dependency between packageBin and assembly
test in assembly := {}, // assembly runs tests for unknown reason which introduces another cyclic dependency to packageBin via exportedJars
@ -350,11 +351,7 @@ lazy val streamTestkit = akkaModule("akka-stream-testkit")
lazy val streamTests = akkaModule("akka-stream-tests")
.configs(akka.Jdk9.TestJdk9)
.dependsOn(
streamTestkit % "test->test",
remote % "test->test",
stream % "TestJdk9->CompileJdk9"
)
.dependsOn(streamTestkit % "test->test", remote % "test->test", stream % "TestJdk9->CompileJdk9")
.settings(Dependencies.streamTests)
.enablePlugins(NoPublish, Jdk9)
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
@ -419,6 +416,9 @@ lazy val clusterTyped = akkaModule("akka-cluster-typed")
remoteTests % "test->test",
jackson % "test->test")
.settings(AutomaticModuleName.settings("akka.cluster.typed"))
.settings(Protobuf.settings)
// To be able to import ContainerFormats.proto
.settings(Protobuf.importPath := Some(baseDirectory.value / ".." / "akka-remote" / "src" / "main" / "protobuf"))
.configs(MultiJvm)
.enablePlugins(MultiNodeScalaTest)