Skip to content

Commit 0f67669

Browse files
committed
Merge branch 'v1.9' of https://github.com/dapr/docs into v1.9
2 parents 3e24788 + 4093682 commit 0f67669

File tree

19 files changed

+147
-49
lines changed

19 files changed

+147
-49
lines changed

daprdocs/config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ disableKinds = ["taxonomy", "term"]
2727

2828
# Google Analytics
2929
[services.googleAnalytics]
30-
id = "UA-149338238-3"
30+
id = "G-60C6Q1ETC1"
3131

3232
# Mounts
3333
[module]
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
type: docs
3+
title: "Resiliency"
4+
linkTitle: "Resiliency"
5+
weight: 400
6+
description: "Configure policies and monitor app and sidecar health"
7+
---
8+
9+
Distributed applications are commonly comprised of many microservices, with dozens - sometimes hundreds - of instances scaling across underlying infrastructure. As these distributed solutions grow in size and complexity, the potential for system failures inevitably increases. Service instances can fail or become unresponsive due to any number of issues, including hardware failures, unexpected throughput, or application lifecycle events, such as scaling out and application restarts. Designing and implementing a self-healing solution with the ability to detect, mitigate, and respond to failure is critical.
10+
11+
## Resiliency Policies
12+
<img src="/images/resiliency_diagram.png" width="1200" alt="Diagram showing the resiliency applied to Dapr APIs">
13+
14+
Dapr provides a capability for defining and applying fault tolerance resiliency policies to your application. You can define policies for following resiliency patterns:
15+
16+
- Timeouts
17+
- Retries/back-offs
18+
- Circuit breakers
19+
20+
These policies can be applied to any Dapr API calls when calling components with a [resiliency spec]({{< ref resiliency-overview >}}).
21+
22+
## App Health Checks
23+
<img src="/images/observability-app-health.webp" width="800" alt="Diagram showing the app health feature. Running Dapr with app health enabled causes Dapr to periodically probe the app for its health">
24+
25+
Applications can become unresponsive for a variety of reasons. For example, they are too busy to accept new work, could have crashed, or be in a deadlock state. Sometimes the condition can be transitory or persistent.
26+
27+
Dapr provides a capability for monitoring app health through probes that check the health of your application and react to status changes. When an unhealthy app is detected, Dapr stops accepting new work on behalf of the application.
28+
29+
Read more on how to apply [app health checks]({{< ref app-health >}}) to your application.
30+
31+
## Sidecar Health Checks
32+
<img src="/images/sidecar-health.png" width="800" alt="Diagram showing the app health feature. Running Dapr with app health enabled causes Dapr to periodically probe the app for its health">
33+
34+
Dapr provides a way to determine its health using an [HTTP `/healthz` endpoint]({{< ref health_api.md >}}). With this endpoint, the *daprd* process, or sidecar, can be:
35+
36+
- Probed for its health
37+
- Determined for readiness and liveness
38+
39+
Read more on about how to apply [dapr health checks]({{< ref sidecar-health >}}) to your application.

daprdocs/content/en/developing-applications/building-blocks/observability/sidecar-health.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ weight: 200
66
description: Dapr sidecar health checks
77
---
88

9-
Dapr provides a way to [determine its health using an [HTTP `/healthz` endpoint]({{< ref health_api.md >}}). With this endpoint, the *daprd* process, or sidecar, can be:
9+
Dapr provides a way to determine its health using an [HTTP `/healthz` endpoint]({{< ref health_api.md >}}). With this endpoint, the *daprd* process, or sidecar, can be:
1010

1111
- Probed for its health
1212
- Determined for readiness and liveness

daprdocs/content/en/developing-applications/building-blocks/pubsub/subscription-methods.md

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ In your application code, subscribe to the topic specified in the Dapr pub/sub c
104104

105105
```csharp
106106
//Subscribe to a topic
107-
[Topic("pubsub", "orders")]
108107
[HttpPost("checkout")]
109108
public void getCheckout([FromBody] int orderId)
110109
{
@@ -117,16 +116,15 @@ public void getCheckout([FromBody] int orderId)
117116
{{% codetab %}}
118117

119118
```java
119+
import io.dapr.client.domain.CloudEvent;
120+
120121
//Subscribe to a topic
121-
@Topic(name = "orders", pubsubName = "pubsub")
122122
@PostMapping(path = "/checkout")
123123
public Mono<Void> getCheckout(@RequestBody(required = false) CloudEvent<String> cloudEvent) {
124124
return Mono.fromRunnable(() -> {
125125
try {
126126
log.info("Subscriber received: " + cloudEvent.getData());
127-
} catch (Exception e) {
128-
throw new RuntimeException(e);
129-
}
127+
}
130128
});
131129
}
132130
```
@@ -136,25 +134,30 @@ public Mono<Void> getCheckout(@RequestBody(required = false) CloudEvent<String>
136134
{{% codetab %}}
137135

138136
```python
137+
from cloudevents.sdk.event import v1
138+
139139
#Subscribe to a topic
140-
@app.subscribe(pubsub_name='pubsub', topic='orders')
141-
def mytopic(event: v1.Event) -> None:
140+
@app.route('/checkout', methods=['POST'])
141+
def checkout(event: v1.Event) -> None:
142142
data = json.loads(event.Data())
143143
logging.info('Subscriber received: ' + str(data))
144-
145-
app.run(6002)
146144
```
147145

148146
{{% /codetab %}}
149147

150148
{{% codetab %}}
151149

152150
```javascript
153-
//Subscribe to a topic
154-
await server.pubsub.subscribe("pubsub", "orders", async (orderId) => {
155-
console.log(`Subscriber received: ${JSON.stringify(orderId)}`)
151+
const express = require('express')
152+
const bodyParser = require('body-parser')
153+
const app = express()
154+
app.use(bodyParser.json({ type: 'application/*+json' }));
155+
156+
// listen to the declarative route
157+
app.post('/checkout', (req, res) => {
158+
console.log(req.body);
159+
res.sendStatus(200);
156160
});
157-
await server.startServer();
158161
```
159162

160163
{{% /codetab %}}
@@ -163,11 +166,10 @@ await server.startServer();
163166

164167
```go
165168
//Subscribe to a topic
166-
if err := s.AddTopicEventHandler(sub, eventHandler); err != nil {
167-
log.Fatalf("error adding topic subscription: %v", err)
168-
}
169-
if err := s.Start(); err != nil && err != http.ErrServerClosed {
170-
log.Fatalf("error listenning: %v", err)
169+
var sub = &common.Subscription{
170+
PubsubName: "pubsub",
171+
Topic: "orders",
172+
Route: "/checkout",
171173
}
172174
173175
func eventHandler(ctx context.Context, e *common.TopicEvent) (retry bool, err error) {

daprdocs/content/en/developing-applications/integrations/Azure/authenticating-azure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ To start, create a new Azure AD application, which will also be used as Service
8484

8585
Prerequisites:
8686

87-
- [Azure Subscription](https://azure.microsoft.com/free/)
87+
- Azure Subscription
8888
- [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli)
8989
- [jq](https://stedolan.github.io/jq/download/)
9090
- OpenSSL (included by default on all Linux and macOS systems, as well as on WSL)

daprdocs/content/en/developing-applications/integrations/Azure/azure-api-management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ description: "Publish APIs for Dapr services and components through Azure API Ma
66
weight: 2000
77
---
88

9-
Azure API Management (APIM) is a way to create consistent and modern API gateways for back-end services, including as those built with Dapr. Dapr support can be enabled in self-hosted API Management gateways to allow them to forward requests to Dapr services, send messages to Dapr Pub/Sub topics, or trigger Dapr output bindings. For more information, read the guide on [API Management Dapr Integration policies](https://docs.microsoft.com/azure/api-management/api-management-dapr-policies) and try out the [Dapr & Azure API Management Integration Demo](https://github.com/dapr/samples/tree/master/dapr-apim-integration).
9+
Azure API Management (APIM) is a way to create consistent and modern API gateways for back-end services, including those built with Dapr. Dapr support can be enabled in self-hosted API Management gateways to allow them to forward requests to Dapr services, send messages to Dapr Pub/Sub topics, or trigger Dapr output bindings. For more information, read the guide on [API Management Dapr Integration policies](https://docs.microsoft.com/azure/api-management/api-management-dapr-policies) and try out the [Dapr & Azure API Management Integration Demo](https://github.com/dapr/samples/tree/master/dapr-apim-integration).
1010

1111
{{< button text="Learn more" link="https://docs.microsoft.com/azure/api-management/api-management-dapr-policies" >}}

daprdocs/content/en/developing-applications/integrations/Azure/azure-kubernetes-service-extension.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ weight: 4000
77
---
88

99
# Prerequisites
10-
- [Azure subscription](https://azure.microsoft.com/free/?WT.mc_id=A261C142F)
10+
- Azure subscription
1111
- [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli-windows?tabs=azure-cli) and the ***aks-preview*** extension.
1212
- [Azure Kubernetes Service (AKS) cluster](https://docs.microsoft.com/azure/aks/tutorial-kubernetes-deploy-cluster?tabs=azure-cli)
1313

daprdocs/content/en/getting-started/tutorials/configure-state-pubsub.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ For Kubernetes:
6464
{{% /codetab %}}
6565

6666
{{% codetab %}}
67-
<!-- IGNORE_LINKS -->
68-
Verify you have an [Azure subscription](https://azure.microsoft.com/free/).
69-
<!-- END_IGNORE -->
67+
Verify you have an Azure subscription.
7068

7169
1. Open and log into the [Azure portal](https://ms.portal.azure.com/#create/Microsoft.Cache) to start the Azure Redis Cache creation flow.
7270
1. Fill out the necessary information.

daprdocs/content/en/operations/resiliency/resiliency-overview.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ description: "Configure Dapr retries, timeouts, and circuit breakers"
99
Resiliency is currently a preview feature. Before you can utilize a resiliency spec, you must first [enable the resiliency preview feature]({{< ref support-preview-features >}}).
1010
{{% /alert %}}
1111

12-
Distributed applications are commonly comprised of many microservices, with dozens, even hundreds, of instances for any given application. With so many microservices, the likelihood of a system failure increases. For example, an instance can fail or be unresponsive due to hardware, an overwhelming number of requests, application restarts/scale outs, or several other reasons. These events can cause a network call between services to fail. Designing and implementing your application with fault tolerance, the ability to detect, mitigate, and respond to failures, allows your application to recover to a functioning state and become self healing.
13-
1412
Dapr provides a capability for defining and applying fault tolerance resiliency policies via a [resiliency spec]({{< ref "resiliency-overview.md#complete-example-policy" >}}). Resiliency specs are saved in the same location as components specs and are applied when the Dapr sidecar starts. The sidecar determines how to apply resiliency policies to your Dapr API calls. In self-hosted mode, the resiliency spec must be named `resiliency.yaml`. In Kubernetes Dapr finds the named resiliency specs used by your application. Within the resiliency spec, you can define policies for popular resiliency patterns, such as:
1513

1614
- [Timeouts]({{< ref "policies.md#timeouts" >}})

daprdocs/content/en/operations/support/support-release-policy.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,18 @@ The table below shows the versions of Dapr releases that have been tested togeth
3434

3535
| Release date | Runtime | CLI | SDKs | Dashboard | Status |
3636
|--------------------|:--------:|:--------|---------|---------|---------|
37-
| October 13th 2022 | 1.9.0</br> | 1.9.0 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported (current) |
37+
| November 4th 2022 | 1.9.3</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported (current) |
38+
| November 1st 2022 | 1.9.2</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported (current) |
39+
| October 26th 2022 | 1.9.1</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.1 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported |
40+
| October 13th 2022 | 1.9.0</br> | 1.9.1 | Java 1.7.0 </br>Go 1.6.0 </br>PHP 1.1.0 </br>Python 1.8.3 </br>.NET 1.9.0 </br>JS 2.4.2 | 0.11.0 | Supported |
41+
| October 26th 2022 | 1.8.6</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
3842
| October 13th 2022 | 1.8.5</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
3943
| August 10th 2022 | 1.8.4</br> | 1.8.1 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
4044
| July 29th 2022 | 1.8.3</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
4145
| July 21st 2022 | 1.8.2</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
4246
| July 20th 2022 | 1.8.1</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
4347
| July 7th 2022 | 1.8.0</br> | 1.8.0 | Java 1.6.0 </br>Go 1.5.0 </br>PHP 1.1.0 </br>Python 1.7.0 </br>.NET 1.8.0 </br>JS 2.3.0 | 0.11.0 | Supported |
48+
| October 26th 2022 | 1.7.5</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Supported |
4449
| May 31st 2022 | 1.7.4</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Supported |
4550
| May 17th 2022 | 1.7.3</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.2.1 | 0.10.0 | Supported |
4651
| Apr 22th 2022 | 1.7.2</br> | 1.7.0 | Java 1.5.0 </br>Go 1.4.0 </br>PHP 1.1.0 </br>Python 1.6.0 </br>.NET 1.7.0 </br>JS 2.1.0 | 0.10.0 | Supported |
@@ -70,19 +75,18 @@ General guidance on upgrading can be found for [self hosted mode]({{< ref self-h
7075

7176
| Current Runtime version | Must upgrade through | Target Runtime version |
7277
|--------------------------|-----------------------|------------------------- |
73-
| 1.4.0 to 1.4.2 | N/A | 1.4.4 |
74-
| | 1.4.4 | 1.5.2 |
75-
| | 1.5.2 | 1.6.0 |
76-
| | 1.6.0 | 1.6.2 |
77-
| | 1.6.0 | 1.7.4 |
7878
| 1.5.0 to 1.5.2 | N/A | 1.6.0 |
7979
| | 1.6.0 | 1.6.2 |
80-
| | 1.6.0 | 1.7.4 |
81-
| 1.6.0 | N/A | 1.6.2 |
82-
| 1.6.0 | N/A | 1.7.4 |
83-
| 1.7.0 to 1.7.4 | N/A | 1.8.0 |
84-
| 1.8.0 | N/A | 1.8.5 |
85-
| 1.9.0 | N/A | 1.9.0 |
80+
| | 1.6.2 | 1.7.5 |
81+
| | 1.7.5 | 1.8.6 |
82+
| | 1.8.6 | 1.9.3 |
83+
| 1.6.0 to 1.6.2 | N/A | 1.7.5 |
84+
| | 1.7.5 | 1.8.6 |
85+
| | 1.8.6 | 1.9.3 |
86+
| 1.7.0 to 1.7.5 | N/A | 1.8.6 |
87+
| | 1.8.6 | 1.9.3 |
88+
| 1.8.0 to 1.8.6 | N/A | 1.9.3 |
89+
| 1.9.0 | N/A | 1.9.3 |
8690

8791
## Breaking changes and deprecations
8892

0 commit comments

Comments
 (0)