最近在部署项目时,用到 了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: