Dapr
发布者:admin 发表于:439天前 阅读数:668 评论:0

大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!

微软真是越来越棒,不断拥抱开源,拥抱外界新技术,比如 Go、Rust 等。今天推荐的这个项目是一个 Go 语言项目。

项目名:Dapr,地址:https://github.com/dapr/dapr,Star 数:7.4k+。

Dapr 是一种可移植的,无服务器的,事件驱动的运行时,它使开发人员可以轻松跨云和边缘构建并运行包含多种语言和开发人员框架的弹性、无状态或有状态微服务。它的口号是:任何语言,任何框架,任何地方。

Dapr 将微服务应用程序构建为开放的,独立的构建块的最佳实践进行了整理,使你能够使用自己喜爱的语言和框架来构建可移植的应用程序。每个构建块都是独立的,你可以在应用程序中使用其中的一个,部分或全部。

项目目标

使开发人员可以使用任何语言或框架来编写分布式应用程序

通过提供最佳实践构建块来解决开发人员构建微服务应用程序时遇到的难题

社区驱动,开放并与供应商保持中立

通过开放的API提供一致性和可移植性

跨云和边缘,与平台无关

拥抱可扩展性并提供可插入组件,而无需锁定供应商

通过高性能和轻量级实现物联网和边缘计算场景

可以从现有代码中逐步采用,而没有运行时依赖

为什么要有 Dapr?

编写高性能,可伸缩和可靠的分布式应用程序很困难。Dapr 为你带来了行之有效的模式和实践。它将事件驱动和参与者的语义统一到一个简单,一致的编程模型中。它支持不需要特定框架的所有编程语言。您不会遇到低级原语,例如线程,并发控制,分区和缩放。相反,你可以使用所选的熟悉的 Web 框架通过实现简单的 Web 服务器来编写代码

Dapr 在线程和状态一致性模型方面很灵活。如果愿意,可以利用多线程,还可以在不同的一致性模型中进行选择。这种灵活性使得无需人工约束即可实施高级方案。Dapr 是独一无二的,因为你可以在平台和基础实现之间无缝过渡,而无需重写代码。

另外,如果你对该项目该兴趣,除了学习官方文档,还可以跟着这份 Demo 学习。https://github.com/mchmarny/dapr-demos。

注意,目前该项目还存于 alpha 状态,不建议用于生产环境。