Skip to content

Commit

Permalink
Actor reminder partition as stable feature. (#2517)
Browse files Browse the repository at this point in the history
* Actor reminder partition as stable feature.

Signed-off-by: Artur Souza <artursouza.ms@outlook.com>

* Update PostgreSQL status (#2522)

Signed-off-by: Yaron Schneider <schneider.yaron@live.com>
Signed-off-by: Artur Souza <artursouza.ms@outlook.com>

* Update daprdocs/content/en/operations/support/support-preview-features.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>
Signed-off-by: Artur Souza <artursouza.ms@outlook.com>

* Add dead letter topics info (#2500)

* Add dead letter topics info

Signed-off-by: yaron2 <schneider.yaron@live.com>

* fix typo

Signed-off-by: yaron2 <schneider.yaron@live.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* change dlt name

Signed-off-by: yaron2 <schneider.yaron@live.com>

* rephrase

Signed-off-by: yaron2 <schneider.yaron@live.com>

* rephrase

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add pub/sub overview section

Signed-off-by: yaron2 <schneider.yaron@live.com>

* change weight

Signed-off-by: yaron2 <schneider.yaron@live.com>

* fix url

Signed-off-by: yaron2 <schneider.yaron@live.com>

* fix url

Signed-off-by: yaron2 <schneider.yaron@live.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-deadletter.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* Update daprdocs/content/en/developing-applications/building-blocks/pubsub/pubsub-overview.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>

* typo

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add diagram

Signed-off-by: yaron2 <schneider.yaron@live.com>

Co-authored-by: Mark Fussell <markfussell@gmail.com>
Signed-off-by: Artur Souza <artursouza.ms@outlook.com>

* Updated pubsub.rabbitmq docs (#2515)

Added publisherConfirms. See dapr/components-contrib#1762

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

Co-authored-by: Mark Fussell <markfussell@gmail.com>
Signed-off-by: Artur Souza <artursouza.ms@outlook.com>

* Update daprdocs/content/en/developing-applications/building-blocks/actors/howto-actors.md

Co-authored-by: Mark Fussell <markfussell@gmail.com>
Signed-off-by: Artur Souza <artursouza.ms@outlook.com>

Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Co-authored-by: Mark Fussell <markfussell@gmail.com>
Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com>
  • Loading branch information
4 people committed Jun 14, 2022
1 parent bd448c0 commit 1310f3e
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -315,24 +315,9 @@ Since version 1.3, applications can now enable partitioning of actor reminders i
If the number of partitions is not enough, it can be changed and Dapr's sidecar will automatically redistribute the reminders's set.

### Enabling actor reminders partitioning
Actor reminders partitioning is currently in preview, so enabling it is a two step process.

#### Preview feature configuration
Before using reminders partitioning, actor type metadata must be enabled in Dapr. For more information on preview configurations, see [the full guide on opting into preview features in Dapr]({{< ref preview-features.md >}}). Below is an example of the configuration:

```yaml
apiVersion: dapr.io/v1alpha1
kind: Configuration
metadata:
name: myconfig
spec:
features:
- name: Actor.TypeMetadata
enabled: true
```

#### Actor runtime configuration
Once actor type metadata is enabled as an opt-in preview feature, the actor runtime must also provide the appropriate configuration to partition actor reminders. This is done by the actor's endpoint for `GET /dapr/config`, similar to other actor configuration elements.
#### Actor runtime configuration for actor reminders partitioning
First, the actor runtime must provide the appropriate configuration to partition actor reminders. This is done by the actor's endpoint for `GET /dapr/config`, similar to other actor configuration elements.

{{< tabs Java Dotnet Python Go >}}

Expand Down Expand Up @@ -428,10 +413,7 @@ The following, is an example of a valid configuration for reminder partitioning:
```

#### Handling configuration changes
For production scenarios, there are some points to be considered before enabling this feature:

* Enabling actor type metadata can only be reverted if the number of partitions remains zero, otherwise the reminders' set will be reverted to an previous state.
* Number of partitions can only be increased and not decreased. This allows Dapr to automatically redistribute the data on a rolling restart where one or more partition configurations might be active.
To configure actor reminders partitioning, Dapr persists the actor type metadata in the actor's state store. This allows the configuration changes to be applied globally and not only in a single sidecar instance. Also the **number of partitions can only be increased and not decreased**. This allows Dapr to automatically redistribute the data on a rolling restart where one or more partition configurations might be active.

#### Demo
* [Actor reminder partitioning community call video](https://youtu.be/ZwFOEUYe1WA?t=1493)
* [Actor reminder partitioning presented in community call](https://youtu.be/ZwFOEUYe1WA?t=1493)
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@ For CLI there is no explicit opt-in, just the version that this was first made a
## Current preview features
| Feature | Description | Setting | Documentation | Version introduced |
| ---------- |-------------|---------|---------------|-----------------|
| **Partition actor reminders** | Allows actor reminders to be partitioned across multiple keys in the underlying statestore in order to improve scale and performance. | `Actor.TypeMetadata` | [How-To: Partition Actor Reminders]({{< ref "howto-actors.md#partitioning-reminders" >}}) | v1.4 |
| **Pub/Sub routing** | Allow the use of expressions to route cloud events to different URIs/paths and event handlers in your application. | `PubSub.Routing` | [How-To: Publish a message and subscribe to a topic]({{<ref howto-route-messages>}}) | v1.7 |
| **ARM64 Mac Support** | Dapr CLI, sidecar, and Dashboard are now natively compiled for ARM64 Macs, along with Dapr CLI installation via Homebrew. | N/A | [Install the Dapr CLI]({{<ref install-dapr-cli>}}) | v1.5 |
| **Pub/Sub routing** | Allow the use of expressions to route cloud events to different URIs/paths and event handlers in your application. | `PubSub.Routing` | [How-To: Publish a message and subscribe to a topic]({{<ref howto-route-messages>}}) | v1.4 |
| **--image-registry** flag with Dapr CLI| In self hosted mode you can set this flag to specify any private registry to pull the container images required to install Dapr| N/A | [init CLI command reference]({{<ref "dapr-init.md#self-hosted-environment" >}}) | v1.7 |
| **Resiliency** | Allows configuring of fine-grained policies for retries, timeouts and circuitbreaking. | `Resiliency` | [Configure Resiliency Policies]({{<ref "resiliency-overview">}}) |
| **Service invocation without default `content-type`** | When enabled removes the default service invocation content-type header value `application/json` when no content-type is provided. This will become the default behavior in release v1.9.0. This requires you to explictly set content-type headers where required for your apps. | `ServiceInvocation.NoDefaultContentType` | [Service Invocation]({{<ref "service_invocation_api.md#request-contents" >}}) | v1.7 |
Expand Down

0 comments on commit 1310f3e

Please sign in to comment.