From c65397345087917b9777b1c5e00538850ad51dcf Mon Sep 17 00:00:00 2001 From: Hannah Hunter Date: Thu, 12 Dec 2024 15:14:12 -0500 Subject: [PATCH] updates from Cassie/Mark Signed-off-by: Hannah Hunter --- .../content/en/concepts/dapr-services/scheduler.md | 4 +++- .../building-blocks/actors/actors-timers-reminders.md | 4 +++- .../hosting/kubernetes/kubernetes-production.md | 10 ++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/daprdocs/content/en/concepts/dapr-services/scheduler.md b/daprdocs/content/en/concepts/dapr-services/scheduler.md index 53fd0ddd1..74638ffa4 100644 --- a/daprdocs/content/en/concepts/dapr-services/scheduler.md +++ b/daprdocs/content/en/concepts/dapr-services/scheduler.md @@ -19,7 +19,9 @@ The Scheduler service Docker container is started automatically as part of `dapr ## Kubernetes mode -The Scheduler service is deployed as part of `dapr init -k`, or via the Dapr Helm charts. For more information on running Dapr on Kubernetes, visit the [Kubernetes hosting page]({{< ref kubernetes >}}). +The Scheduler service is deployed as part of `dapr init -k`, or via the Dapr Helm charts. You can run Scheduler in high availability (HA) mode. [Learn more about setting HA mode in your Kubernetes service.]({{< ref "kubernetes-production.md#high-availability-mode" >}}) + +For more information on running Dapr on Kubernetes, visit the [Kubernetes hosting page]({{< ref kubernetes >}}). ## Related links diff --git a/daprdocs/content/en/developing-applications/building-blocks/actors/actors-timers-reminders.md b/daprdocs/content/en/developing-applications/building-blocks/actors/actors-timers-reminders.md index 7a4cd1ec7..16cb51674 100644 --- a/daprdocs/content/en/developing-applications/building-blocks/actors/actors-timers-reminders.md +++ b/daprdocs/content/en/developing-applications/building-blocks/actors/actors-timers-reminders.md @@ -148,7 +148,9 @@ If an invocation of the method fails, the timer is not removed. Timers are only ## Reminder data serialization format -Actor reminder data is serialized to JSON by default. Dapr v1.13 onwards supports a protobuf serialization format for reminders data which, depending on throughput and size of the payload, can result in significant performance improvements, giving developers a higher throughput and lower latency. Another benefit is storing smaller data in the actor underlying database, which can result in cost optimizations when using some cloud databases. A restriction with using protobuf serialization is that the reminder data can no longer be queried. +Actor reminder data is serialized to JSON by default. Dapr v1.13 onwards supports a protobuf serialization format for internal reminders data for workflow via both the Placement and Scheduler services. Depending on throughput and size of the payload, this can result in significant performance improvements, giving developers a higher throughput and lower latency. + +Another benefit is storing smaller data in the actor underlying database, which can result in cost optimizations when using some cloud databases. A restriction with using protobuf serialization is that the reminder data can no longer be queried. {{% alert title="Note" color="primary" %}} Protobuf serialization will become the default format in Dapr 1.14 diff --git a/daprdocs/content/en/operations/hosting/kubernetes/kubernetes-production.md b/daprdocs/content/en/operations/hosting/kubernetes/kubernetes-production.md index 8e5ea9934..bdcd3ddcb 100644 --- a/daprdocs/content/en/operations/hosting/kubernetes/kubernetes-production.md +++ b/daprdocs/content/en/operations/hosting/kubernetes/kubernetes-production.md @@ -95,6 +95,16 @@ For a new Dapr deployment, HA mode can be set with both: For an existing Dapr deployment, [you can enable HA mode in a few extra steps]({{< ref "#enabling-high-availability-in-an-existing-dapr-deployment" >}}). +### Scheduler service HA configuration + +As of Dapr 1.15, the scheduler `dapr_scheduler.ha` flag scales schedulers to three instances independently of the `global.ha.enabled` flag. Default is one instance, meaning HA for schedulers is not default. + +`global.ha.enabled` set to `true` is fully respected and cannot be overridden by setting the local HA flag to `false`. + +To scale the schedulers to three instancers, set `global.ha.enabled` to false and `dapr_scheduler.ha` to true. + +This flag can be set via Helm with `--set dapr_scheduler.ha=true`. + ## Setting cluster critical priority class name for control plane services In some scenarios, nodes may have memory and/or cpu pressure and the Dapr control plane pods might get selected