为什么要用dapr
服务之间相互调用,需要写一套逻辑去维护
1 服务发现、熔断、限流等
2 dapr 实现了aws、redis、aliyun等服务,无需专注每个平台等开发
dapr可以实现服务发现、熔断、限流等,可以专注于逻辑等开发
服务器:2
编译生成maingo build -o main main.go把服务加入dapr中dapr run --app-id Base --app-protocol grpc --app-port 5001 ./main &开启远程调用服务dapr invoke --app-id Base --method testgo build main.go && dapr run --app-id base-grpc --app-port 8080 --app-protocol grpc -- ./main -e fatgo build main.go && dapr run --app-id base-http --app-port 8199 -- ./main -e dev
http访问:
curl http://localhost:38572/v1.0/invoke/Base/method/test
dapr 组件配置
cd /.daprcd components/
cd 组建
查看组建
https://www.yuque.com/docs/share/dfc142bf-3923-4062-801a-7d7efe00363f?# 《服务调用方式》
https://www.yuque.com/docs/share/0a576a39-30c7-4bf6-9d54-6efb848c371f?# 《修改增加组件》
https://www.yuque.com/docs/share/ae331b27-0b54-49b5-b85e-4cbc90490e2b?# 《发布订阅》
git: http://gitlab.powershopin.top/shopywinwin/shopywinwin-base-dapr-gprc
cd .dapr/components/cat pubsub.yamlcat statestore.yamldapr run -app-id myapp --dapr-http-port 3500docker pslsof -i:3500dapr run --app-id myapp --dapr-http-port 3500lsof -i:3500curl -X POST -H "Content-Type: application/json" -d '[{ "key": "name", "value": "Bruce Wayne"}]' http://localhost:3500/v1.0/state/statestorecurl http://localhost:3500/v1.0/state/statestore/nameps aux|grep meilitelnet shopywinwin-fat.cluster-cpb6ikgdz7ju.us-west-2.rds.amazonaws.comtelnet shopywinwin-fat.cluster-cpb6ikgdz7ju.us-west-2.rds.amazonaws.com 3306dapr --helpdapr componetsdapr componentsdapr run --helpcurl -X POST http://localhost:3500/v1.0/publish/pubsub/deathStarStatus -H "Content-Type: application/json" -d '{"status": "completed"}'dapr publish --publish-app-id testpubsub --pubsub pubsub --topic deathStarStatus --data '{"status": "completed"}'lsof -i:3500curl -X POST -I http://localhost:3500/v1.0/publish/pubsub/deathStarStatus -H "Content-Type: application/json" -d '{"status": "completed"}'479 curl -X POST -i http://localhost:3500/v1.0/publish/pubsub/deathStarStatus -H "Content-Type: application/json" -d '{"status": "completed"}'
