头图

Dapr is an open-source, portable, event-driven runtime that allows developers to easily run elastic, microservices, stateless, and stateful application types from cloud and edge locations. Dapr can significantly increase productivity and reduce development time by ensuring developers can focus on writing business logic instead of solving distributed system challenges. Dapr lowers the barrier to entry for building modern cloud-native applications with microservice architectures, and Dapr applications are already capable of deploying self-hosted infrastructure or Kubernetes clusters in production scenarios. When using self-hosted mode to deploy in a virtual machine environment and choose Consul as the service discovery component, version 1.8 solves a problem: when Consul is used as the name resolution component, the same appid cannot achieve load balancing .

Version 1.8 was officially released on July 8, 2022. This is the eighth minor version update since the first version 1.0 was released in February 2021. There are many contributors to Dapr version 1.8.0, and we would like to thank all 92 new and existing contributors who helped implement this release. Many of the contents of this update are expected functions, such as distributed lock API, external WASM support for middleware components, and more mature Stable components. Next, let's take a look at the updated content.

  1. Dead Letter Topic : Sometimes, for various reasons, an application may not be able to process a message. For example, there might be a transient problem retrieving the data needed to process the message, or the application business logic could not return an error. Dead letter topics are used to forward messages that cannot be delivered to subscribing applications.
  2. Distributed Lock API: Distributed locks provide mutually exclusive access to shared resources in an application. In this release, a new alpha API has been introduced that enables you to use mutexes on shared resources. This is the first implementation of a standard API. In Dapr, it is recommended to use the Dapr Actor building block to handle mutually exclusive access to shared resources, but the Dapr Actor building block is relatively low in community adoption, with one exception being .NET-related The adoption of Actors in the Dapr solution is very high. There are still very few Dapr Actors used in other Java, go, python and other related projects.
  3. WASM support for middleware components: You can now write Dapr middleware components using external WASM modules and extend Dapr using non-Go languages.
  4. The fault- tolerant elastic strategy has entered the preview stage. Dapr 1.7.0 has achieved the goal of the first stage of the fault-tolerant and elastic strategy. Version 1.8 has entered the preview. Dapr's component versions are divided into Alpha, Preview, and Stable. We will put Stable components and APIs into production.
  5. Namespace support for state sharing: Namespaces can now be used to isolate state when sharing state between applications. This allows applications with the same namespace to reuse the same state store.
  6. Metadata API returns a list of component capabilities: Metadata API can now be queried for the capabilities of the components loaded by that sidecar, specifically pub/sub and state store
  7. Sidecar certificate installation support: Dapr sidecar can now support installing certificates for Linux and Windows containers.
  8. Kubernetes Improvements: Dapr Operator now includes a "watchdog" feature to ensure Dapr sidecars are present in Pods, which is especially important during application or cluster failures to provide a higher level of resiliency. When deploying Dapr, whether on Kubernetes or in Docker self-hosting, the default container images pulled are based on distroless , and you can now make Mariner (officially known as CBL- Mariner ) Image.
  9. Component improvements, the following components that had stable release candidates in previous Dapr releases have been upgraded to stable releases
  • Azure Table Storage State Store (stable candidate)
  • Azure Event Hubs Binding (stable candidate)
  • Azure Storage Queues Binding (stable candidate)
  • Postgresql State Store (stable candidate)
  • Azure Event Hubs Pubsub (stable candidate)

Dapr now has over 100+ components (105 in total). Two of the new components added in this version are Huawei Cloud components and one is Ali's Dubbo Binding:

  • The RouterChecker HTTP Request Routing added in version 1.6 already has documentation.
  • Commerce Tools Binding
  • Apache Dubbo Binding
  • Huawei OBS Binding
  • Huawei CSMS Secret Store
  • In-memory State Store used for development
  • RocketMQ PubSub
  • Wasm Basic HTTP Middleware
  • Redis Distributed Lock
  1. Development Tools SDK Improvements:

Python

  • Support configuration API Unsubscribe events
  • Support per-actor-type configuration
  • Support for TTL and time/interval formats in Actor timers and reminders

Java

  • add pubsub routing

.NET

  • Unsubscribe events with support for configuration API
  • Support per-actor-type configuration
  • Support distributed lock API

JavaScript

  • The JavaScript SDK is now available at @dapr/dapr. The older package dapr-client is on its way to deprecation
  • Actor reminder/timer TTL support
  • Support Configuration API
  • Support gRPC proxy
  • Support configuring the SDK logger
  1. CLI improvements:
  2. Added annotation CLI command for adding Dapr annotations to deployed Kubernetes configuration.
  3. dapr init in k8s mode can now use GHCR and private registry to pull images
  4. Added documentation to Dapr version

If you are new to Dapr, visit the getting started page and get familiar with Dapr. Documentation has been updated to include all new features and changes for this release. Get started with the new features introduced in this release with the Concepts and Development Application documentation. To upgrade Dapr to version 1.8.0, skip to this section.



Long press to identify the QR code and follow Microsoft China MSDN

Click to read the original blog ~


微软技术栈
418 声望994 粉丝

微软技术生态官方平台。予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。