dubbo-go入门

为什么选择dubbo-go?

目前公司的技术栈是go+grpc+k8s,如果使用grpc开发分布式系统,需要编写protobuf文件,并处理通信协议的数据转换。 对于习惯了使用dubbo作为分布式框架的Java同学来说,这个工作效率太低下了,所以需要一种类似dubbo的rpc框架且能兼容现有的grpc框架。

helloWorld demo

  1. 共用model类

userprovider.go

  1. 服务端实现

User.go

server.go

server.yml

log.yml

  1. 客户端实现

User.go

User.go

client.go

client.go

client.yml

client.yml

log.yml

  1. 完整项目目录

编译client.go server.go

CGO_ENABLED=0&&GOOS=linux&&GOARCH=amd64&&go build -o output client.go

CGO_ENABLED=0&&GOOS=linux&&GOARCH=amd64&&go build -o output  server.go

运行服务端

打开一个shell窗口,运行服务端程序

  1. 导出环境变量
export CONF_PROVIDER_FILE_PATH=conf/server.yml
export APP_LOG_FILE_PATH=conf/log.yml
  1. 运行server.go
./server

运行客户端

打开一个shell窗口,运行服务端程序

  1. 导出环境变量
export CONF_CONSUMER_FILE_PATH=conf/client.yml
export APP_LOG_FILE_PATH=conf/log.yml
  1. 运行client.go
./client

问题

os.Getenv在windows系统下无法读取环境变量中配置文件路径?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章