写点什么

Dapr 在 Java 中的实践 之 环境准备

作者:万猫学社
  • 2022 年 8 月 08 日
  • 本文字数:1557 字

    阅读完需:约 5 分钟

Dapr在Java中的实践 之 环境准备

Dapr 简介

Dapr (Distributed Application Runtime)是一个可移植的、事件驱动的运行时,它使任何开发人员都可以轻松地构建运行在云和边缘上的弹性、无状态和有状态的应用程序,并支持语言和开发人员框架的多样性。Dapr 利用 Sidecar 架构的优势,帮助我们解决构建微服务所带来的挑战,并保持代码与平台无关。



从上面的架构图看出,Dapr 包括如下几个模块:


  • 服务调用(Service-to-service Invocation):通过服务调用,服务可以使用 gRPC 或 HTTP 这样的标准协议来发现并可靠地与其他服务通信。

  • 状态管理(State Management):独立的状态管理,使用键值对作为存储机制,可以轻松的使长时运行、高可用的有状态服务和无状态服务共同运行在我们的服务中。

  • 发布订阅(Publish and Subscribe):发布事件和订阅主题。生产者将消息发送到某个主题(Topic),但不知道接收消息的服务;消费者将订阅该主题并收到它的消息,但不知道哪个服务生产了这些消息。

  • 资源绑定(Resource Bindings):通过建立触发器与资源的绑定,可以从任何外部源(例如数据库,队列,文件系统等)接收和发送事件,而无需借助消息队列,即可实现灵活的业务场景。

  • Actors:Actor 是一个独立的运行单元,拥有隔离的运行空间,在隔离的空间内,其有独立的状态和行为,不被外界干预。Actor 之间通过消息进行交互,而同一时刻,每个 Actor 只能被单个线程执行,这样既有效避免了数据共享和并发问题,又确保了应用的伸缩性。

  • 可观测性(Observability):记录指标(metric)、日志(log)、链路(trace)以调试和监视 Dapr 和服务的运行状况。

  • 密钥管理(Secrets):支持与公有云和本地的密钥存储集成,以供服务检索使用。

  • 配置管理(Configuration):通过配置 API 在配置存储中检索和订阅服务的配置项。

安装 Docker

这里以 Windows 10 系统为例,安装 Docker。

安装 Hyper-V

Hyper-V 是微软提出的一种系统管理程序虚拟化技术,能够实现桌面虚拟化。Hyper-V 可用于 64 位 Windows 10 专业版、企业版和教育版。 它无法用于家庭版。


点击“小窗户”,然后再点击“设置”,如下图:



在搜索框中输入“启用或关闭 Windows 功能”,如下图:



点击“启用或关闭 Windows 功能”后,勾选“Hyper-V”所有选项,如下图:



点击“确定”,等一会儿就安装好了。(可能需要重启电脑)

安装 Docker Desktop

访问https://desktop.docker.com/win/stable/amd64/Docker%20Desktop%20Installer.exe下载,双击 Docker Desktop Installer.exe 运行安装程序。按照安装向导上的说明授权安装程序并继续进行安装。


安装完成后,启动 Docker Desktop,等一会儿初始化完成后,将启动入门教程:



这个教程包括一个简单的练习,以构建示例 Docker 镜像,将其作为容器运行,将映像推送并保存到 Docker Hub。


安装 Dapr CLI

访问https://github.com/dapr/cli/releases下载所需的 Dapr CLI,如果是 Linux 系统可以下载 dapr_linux_amd64.tar.gz;如果是 Windows 系统,可以下载 dapr_windows_amd64.zip;如果是 macOS,可以下载 dapr_darwin_amd64.tar.gz。


这里以 Windows 系统为例。


解压到一个目录中,并把这个目录添加到系统环境变量中,然后执行如下命令验证一下:


dapr --version
复制代码


如果显示如下效果就说明安装成功了:


初始化 Dapr

执行如下命令:


dapr init
复制代码


它会帮我们创建如下内容:


  • 运行一个用于状态存储和消息代理的 Redis 容器实例

  • 运行一个用于提供可观察性的 Zipkin 容器实例

  • 创建具有上述组件定义的默认组件文件夹:用户目录中的.dapr 文件夹

  • 运行用于本地演员支持的 Dapr Placement 服务容器实例


显示效果如下:



执行如下命令验证一下:


docker ps
复制代码


如果显示如下效果就说明初始化成功了:



此时,访问http://localhost:9411/zipkin/就可以看到:


启动 Dapr Dashboard

执行如下命令:


dapr dashboard -p 9999
复制代码


显示效果如下:



再访问http://localhost:9999/就可以看到:



最后,感谢你这么帅,还给我点赞

发布于: 刚刚阅读数: 2
用户头像

万猫学社

关注

资深研发工程师 2018.04.15 加入

微信搜索「万猫学社」,关注并回复「电子书」,免费获取12本必读技术书籍。

评论

发布
暂无评论
Dapr在Java中的实践 之 环境准备_微服务_万猫学社_InfoQ写作社区