dubbo go 支持metadata local模式么,有没有example
dubbo java框架默认是local, mosn 用到了dubbogo库。https://github.com/apache/dubbo-go/blob/53843b7495f4f2c66be9d6992b980e0b65662a18/metadata/service/local/service.
go
local 的实现是这个。此回答整理自钉钉群:dubbogo社区1
Dubbo 和 Dubbo-go 都支持元数据本地模式(Local Metadata),这是一种简化配置的方式,允许直接在服务提供者和消费者的应用程序中定义元数据,而不是依赖于外部的元数据中心。
对于 Dubbo:
<!-- 在服务提供者的配置中 -->
<dubbo:service interface="com.example.MyService" ref="myServiceBean" version="1.0.0">
<dubbo:metadata type="local"/>
</dubbo:service>
<!-- 在服务消费者的配置中 -->
<dubbo:reference id="myService" interface="com.example.MyService" version="1.0.0">
<dubbo:metadata type="local"/>
</dubbo:reference>
对于 Dubbo-go,你可以在代码中设置元数据模式为本地:
// 在服务提供者的代码中
providerConfig := common.NewProviderConfig()
providerConfig.MetadataType = "local"
// 创建并注册服务
serviceConfig := common.NewServiceConfig()
serviceConfig.SetInterface("com.example.MyService")
serviceConfig.SetVersion("1.0.0")
registryConfig := common.NewRegistryConfig()
registryConfig.SetProtocol("zookeeper")
registryConfig.SetAddress("127.0.0.1:2181")
providerConfig.SetRegistry(registryConfig)
providerConfig.Services = append(providerConfig.Services, serviceConfig)
provider := registry.NewProvider(&providerConfig)
err := provider.Export()
if err != nil {
log.Fatal(err)
}
// 在服务消费者的代码中
consumerConfig := common.NewConsumerConfig()
consumerConfig.MetadataType = "local"
// 创建并引用服务
referenceConfig := common.NewReferenceConfig()
referenceConfig.SetInterface("com.example.MyService")
referenceConfig.SetVersion("1.0.0")
registryConfig := common.NewRegistryConfig()
registryConfig.SetProtocol("zookeeper")
registryConfig.SetAddress("127.0.0.1:2181")
consumerConfig.SetRegistry(registryConfig)
consumerConfig.References = append(consumerConfig.References, referenceConfig)
consumer := registry.NewConsumer(&consumerConfig)
service, err := consumer.Reference(referenceConfig)
if err != nil {
log.Fatal(err)
}
defer consumer.Unreference(service)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。