本文档演示如何在框架中使用 yaml
配置文件进行微服务开发,是相比于 API
的另一种微服务开发模式。你可以完全使用 yml
配置文件进行开发,也可以将部分全局配置放到配置文件,而只在 API 中完成服务定义。
这种模式下,一定要通过 DUBBO_GO_CONFIG_PATH
指定配置文件路径:
可在此查看 完整示例源码。
通过 IDL./proto/greet.proto
定义服务 使用triple协议
客户端定义的 yaml
文件:
通过 dubbo.Load()
调用进行文件的读取以及加载
服务端定义的 yaml
文件
通过 dubbo.Load()
调用进行文件的读取以及加载
源文件路径:dubbo-go-sample/context/proto/greet.proto
在服务端中,定义 GreetTripleServer:
实现 GreetServiceHandler 接口,通过 greet.SetProviderService(&GreetTripleServer{})
进行注册
,同样使用 dubbo.Load()
进行加载配置文件
源文件路径:dubbo-go-sample/config_yaml/go-server/cmd/main.go
在客户端中,定义greet.GreetServiceImpl实例,greet.SetConsumerService(svc)进行注册:
通过 dubbo.Load()
进行配置文件的加载
源文件路径:dubbo-go-sample/config_yaml/go-client/cmd/main.go
先启动服务端,再启动客户端,可以观察到客户端打印了ConfigTest successfully
配置加载以及调用成功
如果要指定多个 filter 时,可用 ‘,’ 分隔
Consumer 端
Provider 端