Merge pull request #26665 from akka/wip-26664-artery-ready-patriknw
Declare Artery TCP ready for production, #26664
This commit is contained in:
commit
18802420fb
1 changed files with 26 additions and 7 deletions
|
|
@ -25,7 +25,7 @@ akka {
|
||||||
remote {
|
remote {
|
||||||
artery {
|
artery {
|
||||||
enabled = on
|
enabled = on
|
||||||
transport = aeron-udp # See Selecting a transport below
|
transport = tcp # See Selecting a transport below
|
||||||
canonical.hostname = "127.0.0.1"
|
canonical.hostname = "127.0.0.1"
|
||||||
canonical.port = 25520
|
canonical.port = 25520
|
||||||
}
|
}
|
||||||
|
|
@ -63,10 +63,9 @@ underlying module that allows for Cluster, it is still useful to understand deta
|
||||||
@@@ note
|
@@@ note
|
||||||
|
|
||||||
This page describes the remoting subsystem, codenamed *Artery* that will eventually replace the
|
This page describes the remoting subsystem, codenamed *Artery* that will eventually replace the
|
||||||
@ref:[old remoting implementation](remoting.md). Artery with the Aeron transport is ready
|
@ref:[classic remoting implementation](remoting.md). Artery is ready to use in production, but the
|
||||||
to use in production. The TCP based transport is not ready for use in production yet. The module is
|
module is still marked @ref:[may change](common/may-change.md) because some configuration will be
|
||||||
marked @ref:[may change](common/may-change.md) because some configuration will be changed when the API
|
changed when the API becomes stable in Akka 2.6.0.
|
||||||
becomes stable.
|
|
||||||
|
|
||||||
@@@
|
@@@
|
||||||
|
|
||||||
|
|
@ -99,7 +98,9 @@ The TCP and TLS transport is implemented using Akka Streams TCP/TLS. This is the
|
||||||
when encryption is needed, but it can also be used with plain TCP without TLS. It's also
|
when encryption is needed, but it can also be used with plain TCP without TLS. It's also
|
||||||
the obvious choice when UDP can't be used.
|
the obvious choice when UDP can't be used.
|
||||||
It has very good performance (high throughput and low latency) but latency at high throughput
|
It has very good performance (high throughput and low latency) but latency at high throughput
|
||||||
might not be as good as the Aeron transport.
|
might not be as good as the Aeron transport. It has less operational complexity than the
|
||||||
|
Aeron transport and less risk of trouble in container environments. Artery TCP will be
|
||||||
|
the default transport in Akka 2.6.0.
|
||||||
|
|
||||||
@@@ note
|
@@@ note
|
||||||
|
|
||||||
|
|
@ -110,9 +111,27 @@ officially supported. If you're on a Big Endian processor, such as Sparc, it is
|
||||||
|
|
||||||
@@@
|
@@@
|
||||||
|
|
||||||
|
## Migrating from classic remoting
|
||||||
|
|
||||||
|
Artery TCP will be the default transport in Akka 2.6.0, and the @ref:[classic remoting implementation](remoting.md)
|
||||||
|
will be deprecated.
|
||||||
|
|
||||||
### Canonical address
|
Artery has the same functionality as classic remoting and you should normally only have to change the
|
||||||
|
configuration to switch.
|
||||||
|
|
||||||
|
Enable Artery as shown in above @ref:[configuration](#configuration) with your
|
||||||
|
@ref:[selected transport](#selecting-a-transport). `tcp` is a good start.
|
||||||
|
|
||||||
|
The protocol part in the Akka `Address`, for example `"akka.tcp://actorSystemName@10.0.0.1:2552/user/actorName"`
|
||||||
|
has changed from `akka.tcp` to `akka`. If you have configured or hardcoded any such addresses you have to change
|
||||||
|
them to `"akka://actorSystemName@10.0.0.1:2552/user/actorName"`. `akka` is used also when TLS is enabled.
|
||||||
|
One typical place where such address is used is in the `seed-nodes` configuration.
|
||||||
|
|
||||||
|
The configuration is different, so you might have to revisit any custom configuration. See the full
|
||||||
|
@ref:[reference configuration for Artery](general/configuration.md#config-akka-remote-artery) and
|
||||||
|
@ref:[reference configuration for classic remoting](general/configuration.md#config-akka-remote).
|
||||||
|
|
||||||
|
## Canonical address
|
||||||
|
|
||||||
In order to remoting to work properly, where each system can send messages to any other system on the same network
|
In order to remoting to work properly, where each system can send messages to any other system on the same network
|
||||||
(for example a system forwards a message to a third system, and the third replies directly to the sender system)
|
(for example a system forwards a message to a third system, and the third replies directly to the sender system)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue