• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

Dapr是如何简化微服务的开发和部署

JAVA相关 张善友 1310次浏览 0个评论

基于微服务设计模式的现代应用程序面临着一系列挑战。微服务需要有一个强大的服务发现机制来实现动态连接。它们需要松散耦合,实现自主性和独立缩放。微服务需要支持多种语言,其中每个服务都是以最合适的语言、框架和运行时实现的。尽管采用容器和编排引擎(如 Kubernetes)可以应对打包、部署和扩展方面的挑战,但开发过程仍然很复杂。微软发布的分布式应用程序运行时 (Dapr) 开发现代应用程序的新方法来应对微服务开发的复杂性,这是微服务和云原生应用程序的一个平台和语言无关的运行时。

Dapr 的体系结构对于开发人员来说非常迷人,尤其是那些熟悉 20 世纪 90 年代 COM 或 EJB 的开发人员。与 COM/DCOM 和 EJB 为在 Windows 和 Java 上运行的分布式应用程序提供管道的方式类似,Dapr 基于容器化、云原生、微服务的应用程序所需的繁重工作。Dapr 有三大元素:运行时、 服务构建块和SDK

Dapr是如何简化微服务的开发和部署

Dapr 运行时可以安装在任何可以运行 Docker 的计算机上。核心运行时是容器化的,可以部署在运行 Linux、Windows 或 Mac 操作系统的 x86/ARM 处理器上。它也可以安装在多节点 Kubernetes 群集中,也可以安装在资源受限的边缘设备(如树莓派)上。唯一的要求是主机环境 能够运行 Docker。

Dapr 使得使用在同一主机、内部或外部数据服务以及基于 pub/sub 模式的消息传递服务中运行的其他微服务变得非常简单。由于 Dapr 使用Sidecar 模式,因此可以轻松地集成在 Kubernetes 上运行的微服务,以利用构建基块。Dapr 构建基块充当配置为组件的内部/外部服务提供商和内部使用者之间的中间层。由于每个服务的使用者始终与一个众所周知的终结点通信,Dapr 只需将调用重定向到当前配置的组件。

Dapr是如何简化微服务的开发和部署

上图是状态构建基块组件封装构建基块 API 的实现。状态构建基块的实现可能包括 Redis、etcd、MongoDB、Amazon DynamoDB 和 Azure CosmosDB。许多组件是可插拔的,因此一个实现可以很容易地换换到另一个实现。

为了使不同语言使用 Dapr 更自然,它还包括用于 Go、Java、JavaScript、.NET 和 Python 的语言特定 SDK。这些 SDK 通过语言封装的 API 而不是调用标准 http/gRPC API 公开 Dapr 构建基块中的功能,例如保存状态、发布事件或创建Actor。这使开发人员能够用自己选择的语言编写无状态和有状态函数和参Actor的组合。

Dapr是如何简化微服务的开发和部署

Dapr 将一些经过验证的技术和最佳实践带到微服务开发中。它通过即插即用模型将90 年代的数据驱动的客户端/服务器应用程序的操作,应用于 现代云原生应用程序所需的最常见服务。

相关文章:

  • Dapr 已在塔架就位 将发射新一代微服务
  • 牛年 dotnet云原生技术趋势


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明Dapr是如何简化微服务的开发和部署
喜欢 (0)

您必须 登录 才能发表评论!

加载中……