https://go-zero.dev/cn/goctl-rpc.html
goctl api go -api gozerodemo.api -dir . -style gozero
go run gozerodemo.go -f etc/gozerodemo-api.yaml
% curl -i -X GET \
http://localhost:8888/from/me
HTTP/1.1 200 OK
Content-Type: application/json
Date: Tue, 07 Sep 2021 13:22:35 GMT
Content-Length: 23
{"Message":"hello: me"}
参考使用prometheus + grafana + pushgateway搭建监控可视化系统
配置:以resCode为例 rk_demo_api_resCode{exported_job="demo",instance="pushgateway:9091",job="prom-stack"}
参考:
按分钟进行统计 increase(rk_demo_api_resCode{exported_job="demo",instance="pushgateway:9091",job="prom-stack"}[1m])
grafana: http://127.0.0.1:3000/
pushGateway: http://127.0.0.1:9091/
https://github.com/hibiken/asynq
docker run --rm --name asynqmon -d -p 8098:8080 -e REDIS_ADDR=172.17.0.1:6379 hibiken/asynqmon
Web页面: http://127.0.0.1:8098/
# 启动jaeger
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 14250:14250 \
-p 9411:9411 \
jaegertracing/all-in-one:1.23
参考:https://rkdev.info/cn/docs/bootstrapper/user-guide/grpc-golang/basic/interceptor-tracing/
Web页面: http://127.0.0.1:16686/
docker run --rm -it \
--link jaeger \
-p 8080-8083:8080-8083 \
-e JAEGER_AGENT_HOST="jaeger" \
jaegertracing/example-hotrod:1.14 \
all
参考:https://blog.csdn.net/panjianlongWUHAN/article/details/113347757
工具地址:https://github.com/fullstorydev/grpcui
参考:https://segmentfault.com/a/1190000020954443
在rpc服务hello
为例,在其配置中设置Mode
为test
或者dev
并重启服务,然后执行grpcui -plaintext localhost:8080
https://github.com/zeromicro/zero-contrib/tree/main/zrpc/registry/polaris
服务端注册示例见:rpc/jaeger/jaeger.go
客户端调用示例见:rpc/jaeger/example/jaeger/main.go
注意调用示例同目录下需要添加polaris.yaml
文件,内容为:
global:
serverConnector:
addresses:
- 127.0.0.1:8091
https://github.com/polarismesh/polaris/blob/main/deploy/helm/README-zh.md
部署单机版:helm install polarisstandalone . --set global.mode=standalone
NAME: polarisstandalone
LAST DEPLOYED: Sat Mar 5 00:07:54 2022
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
卸载 helm uninstall polarisstandalone
参考:https://go-zero.dev/cn/goctl-other.html
goctl docker -go demo.go
docker build -t demo:v1 -f api/Dockerfile .
docker run --rm -it -p 8888:8888 demo:v1
kubectl create namespace dev
goctl kube deploy -name demo -namespace dev -image demo:v1 -o deploy/demo.yaml -port 8888
kubectl apply -f deploy/demo.yaml
设置当目标镜像存在本地时就不去拉取 imagePullPolicy: IfNotPresent