微软已经发布了1.0版的分布式应用程序运行时(Dapr),旨在提供构建模块来简化Kubernetes的应用程序开发。
Dapr是Microsoft赞助的围绕Kubernetes的几个开源项目之一,也许是最有用的开源项目。其他包括开放服务网格(OSM),它使用Envoy(如Istio)但重量较轻(如Linkerd)。与KEDA以及Red Hat一起,后者在Kubernetes上支持无服务器,事件驱动的容器。 Dapr于2019年10月首次宣布,并已在GitHub上开发。
Dapr的目的是提供可以通过任何应用程序调用的,通过HTTP或gRPC访问的服务,并满足一些通常难以实现的常见要求。具体来说,Dapr提供:
状态管理:从各种存储(例如Redis,CosmosDB,SQL Server或PostgreSQL)中保存和检索键/值对
分布式跟踪:使用W3C跟踪上下文标准将事件提供给跟踪和监视系统
尽管Dapr通常在此处运行,但Dapr不依赖Kubernetes,可以作为自托管二进制文件或在容器中运行。有用于Go,Java,JavaScript,Python,.NET,Rust,C ++和PHP的SDK,以及与ASP.NET Core和Java Spring Boot等框架的集成。 Dapr本身是用Go编写的。根据微软今天的帖子,社区已加紧贡献与Davis,AWS,阿里巴巴和谷歌云集成的Dapr组件。
该公司表示,“ Dapr现在正在多个生产和预生产环境中运行”。并且自首次预览以来,已在此期间添加了安全功能。现在有近700名参与者,包括HashiCorp和阿里巴巴。有一个技术指导委员会,该公司打算在不久的将来让Dapr加入开放的软件基金会。
1.0版本意义重大,因为这意味着该API已声明稳定,并且将来的更改将通过版本控制机制进行。 可能会有重大更改,但将在未来几个版本中指出," 微软承诺。 在安全方面,Dapr现在使用x.509证书(可自动更新和滚动)来防止中间人攻击,并使用spiffe框架提供访问控制列表。 还计划了其他API,包括用于应用程序配置数据,创建单例对象实例,基于URL路由消息的API,以及用于诸如断路器和超时之类的弹性API。 ® 注册-技术社区的独立新闻和观点。 情境发布的一部分