gRPC+Protocol Buffer Go微服务实战 - 用户服务开发( 二 )

后面就可以在这里补充具体的业务逻辑处理了 。
7、启动服务
# 在根目录下运行go run main.go确保运行gRPC server
// main.go...eagle.WithServer( // init gRPC server gs,),...8、接口调试
调试工具 , 这里使用 [grpcurl](https://github.com/fullstorydev/grpcurl)
# 查看服务列表grpcurl -plaintext localhost:9090 list# Outputapi.user.v1.UserServicegrpc.health.v1.Healthgrpc.reflection.v1alpha.ServerReflection# 访问列表grpcurl -plaintext -d '{"user_id":2}' localhost:9090 api.user.v1.UserService/ListUser参数说明

  • -d 提交的参数 ,  json格式
  • -plaintext 使用纯文本连接 , 跳过TLS
也可以使用以下工具进行本地测试
  • postman: 新版本的postman 也支持gRPC(beta版)调试
  • grpucui: https://github.com/fullstorydev/grpcui
    # 开启UI界面调试窗口grpcui -plaintext localhost:9090
部署两种部署方式
  • docker
  • k8s (本地部署可以使用minikube)
部署步骤
  • 构建docker镜像
    docker build -t user-service:v1.0.0 -f deploy/docker/Dockerfile .
  • 打docker tag
    docker tag user-service:v1.0.0 qloog/user-service:v1.0.0
  • push tag 到 docker hub
    docker push qloog/user-service:v1.0.0
  • 部署到k8s
    kubectl apply -f deploy/k8s/go-deployment.yamlkubectl apply -f deploy/k8s/go-service.yaml
以上命令都是一步一步执行的 , 为了方便期间 , 这里也提供了一件部署脚本 , 执行如下
sh deploy/deploy.sh项目源码最终源码在这里:https://github.com/go-microservice/user-service
完结到此 , 开发、测试、部署已经操作完了 , 后面会继续完善链路追踪和监控相关的部分 。
感谢阅读 ,  祝大家 Happy coding~

经验总结扩展阅读