做网站遇上麻烦客,网站建设php文件放哪里,网页打不开建设银行网站,源码分享平台dapr学习
5.1、概念知识
官方文档#xff1a;
Dapr 配置选项概述 | Dapr 文档库
run CLI 命令参考 | Dapr 文档库
该部分持续更新中…
dapr云原生框架#xff0c;服务于开发人员的#xff0c;是一个cs服务框架
5.2、dapr配置redis中间件组件
1、首先下载redis进行并…dapr学习
5.1、概念知识
官方文档
Dapr 配置选项概述 | Dapr 文档库
run CLI 命令参考 | Dapr 文档库
该部分持续更新中…
dapr云原生框架服务于开发人员的是一个cs服务框架
5.2、dapr配置redis中间件组件
1、首先下载redis进行并启动容器
2、dapr中$HOME/.dapr/components目录(没有则自己创建)中创建yaml文件绑定redisyaml这些文件就是对应的订阅主题、状态部分所需要的。
rootubuntu:~/.dapr/components# ls
pubsub.yaml statestore.yaml subscription.yaml
rootubuntu:~/.dapr/components# cat pubsub.yaml
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:name: pubsub
spec:type: pubsub.redisversion: v1metadata:- name: redisHostvalue: localhost:6379- name: redisPasswordvalue:
rootubuntu:~/.dapr/components# cat statestore.yaml
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:name: statestore
spec:type: state.redisversion: v1metadata:- name: redisHostvalue: localhost:6379- name: redisPasswordvalue: - name: actorStateStorevalue: true
rootubuntu:~/.dapr/components# cat subscription.yaml
apiVersion: dapr.io/v1alpha1
kind: Subscription
metadata:name: myevent-subscription
spec:topic: deathStarStatusroute: /dsstatuspubsubname: pubsub
scopes:
- app1
- app2
再启动daprd如果加载组件仍然找不到则需要dapr run来运行了。
这个错误就是加载组件失败
WARN[0000] failed to load components: open : no such file or directory app_idsbtframework_server_test instanceubuntu scopedapr.runtime typelog ver1.6.15.3、daprd和dapr run区别
在工程中会有两种启动方式
方式1使用daprd来启动dapr服务然后再起应用程序的服务端去指定端口
#起dapr服务
daprd --app-id sbtframework_server_test --dapr-http-max-request-size 104857600 --app-protocol grpc --app-port 50051 --dapr-grpc-port 64011 --dapr-http-port 64012 --metrics-port 64013
#起应用程序服务端
./sbtframework_server 50051
#起应用程序客户端
./sbtframework_client sbtframework_server_test 64011方式2、dapr run来直接起服务并且把应用程序服务也带起来。
#起dapr服务并将应用程序一起启动
dapr run --app-id sbtframework_server_test --dapr-http-max-request-size 104857600 --app-protocol grpc --app-port 60051 --dapr-grpc-port 54011 --dapr-http-port 54012 --metrics-port 54013 ./catch2test_server
#再起客户端
./sbtframework_client sbtframework_server_test 54011那么两者的区别其实就是dapr服务是否跟我们应用程序的服务是不是一个进程。
daprd就是两个进程使用它需要注意的是当第二次启动应用程序服务的时候可以连接不到dapr服务了因为dapr它存在一个扫描周期当第一次启动的应用程序服务断开之后就会扫描如果第二次应用程序服务启动在扫描周期内就可以连接上否则不能连接上如连接失败那么需要去kill掉dapr进程再重新起daprd服务重新操作一次。涉及到的linux命令ps -aux | grep “daprd”再kill -9 具体ID也可以直接pkill -9 daprd 。
dapr run 方法启动就是与应用程序的服务端一个进程结束应用程序的服务端的时候也会把dapr服务结束掉的。
5.4、dapr和protobuf及grpc的关系
Dapr 是一个开源的、跨平台的分布式应用程序运行时旨在简化构建微服务应用程序的过程。它提供了一组可插拔的构建块用于处理常见的分布式系统功能如服务调用、状态管理、事件发布-订阅等。Dapr 可以与各种编程语言和框架一起使用并且与基础设施无关可以在本地、云或边缘环境中运行。
ProtoBuf 是一种用于序列化结构化数据的语言无关、平台无关的机制。它使用简洁的二进制格式来表示数据并提供了代码生成工具可以根据定义的消息格式自动生成各种编程语言的代码。ProtoBuf 通常用于定义数据模型和消息格式并用于在不同的系统之间进行数据交换。
gRPC 是一种高性能、开源的远程过程调用框架可以在客户端和服务器之间进行双向通信。它使用 ProtoBuf 来定义消息格式和数据模型并使用 HTTP/2 协议进行通信。gRPC 提供了多种语言的支持并且可以在云和边缘环境中使用。
在分布式系统中你可以使用 ProtoBuf 和 gRPC 来定义消息格式和数据模型并使用 Dapr 进行服务调用和处理。Dapr 提供了与 ProtoBuf 和 gRPC 集成的支持可以使用 ProtoBuf 格式的消息进行服务调用并使用 gRPC 进行通信。你可以在 Dapr 中使用 ProtoBuf 序列化和反序列化消息并使用 gRPC 进行远程过程调用。