最近在部署项目时,用到 了DAPR,记录一下。
一、安装
本地安装 https://docs.dapr.io/zh-hans/getting-started/install-dapr-cli/
docker内安装 https://docs.dapr.io/operations/hosting/self-hosted/self-hosted-with-docker/
注意,docker安装时应指定默认路径,不知道为什么生成的components没有pubsub.yaml等文件,
可以下载下来拷贝进去。
RUN dapr init --slim ENV PATH=$PATH:/root/.dapr/bin COPY ./components /root/.dapr/components
然后pip安装一些 dapr python SDK
dapr==1.6.1 dapr-ext-grpc==1.6.0 cloudevents==1.2.0
二、python demo
下面有些例子,我主要关注publish和subscribe
https://github.com/dapr/python-sdk/tree/master/examples/pubsub-simple
注意,在docker内部进行测试时,会将publish和subscribe放在一起,如果需要和
redis进行通信,注意网络设置。以下是用docker-compose进行启动时的设置
version: '3.4' services: dapr_test: build: context: . dockerfile: dapr_pipeline_Dockerfile target: daprtest image: dapr_test env_file: - ../.env volumes: - ../:/app/ networks: - hello-dapr redis: image: "redis:latest" ports: - "6380:6379" networks: - hello-dapr networks: hello-dapr: