go-server/cmd/server.go
// run these codes in init function // and you need not add config env_vairable before run providerConfig := config.NewProviderConfig( config.WithProviderAppConfig(config.NewDefaultApplicationConfig()), config.WithProviderProtocol("dubbo", "dubbo", "20000"),// protocol and port config.WithProviderRegistry("demoZk", config.NewDefaultRegistryConfig("zookeeper")), // registry config config.WithProviderServices("UserProvider", config.NewServiceConfigByAPI( config.WithServiceRegistry("demoZk"), // registry key, equal to upper line config.WithServiceProtocol("dubbo"), // export protocol config.WithServiceInterface("org.apache.dubbo.UserProvider"), // interface id config.WithServiceLoadBalance("random"), // lb config.WithServiceWarmUpTime("100"), config.WithServiceCluster("failover"), config.WithServiceMethod("GetUser", "1", "random"), )), ) config.SetProviderConfig(*providerConfig) // set to providerConfig ptr
consumer side
go-client/cmd/client.go
consumerConfig := config.NewConsumerConfig( config.WithConsumerAppConfig(config.NewDefaultApplicationConfig()), // default app config config.WithConsumerConnTimeout(time.Second*3), // timeout config.WithConsumerRequestTimeout(time.Second*3), // timeout config.WithConsumerRegistryConfig("demoZk", config.NewDefaultRegistryConfig("zookeeper")), // registry config config.WithConsumerReferenceConfig("UserProvider", config.NewReferenceConfigByAPI( // set refer config config.WithReferenceRegistry("demoZk"), // registry key config.WithReferenceProtocol("dubbo"), // protocol config.WithReferenceInterface("org.apache.dubbo.UserProvider"),// interface name config.WithReferenceMethod("GetUser", "3", "random"), // method and lb config.WithReferenceCluster("failover"), )), ) config.SetConsumerConfig(*consumerConfig) // set to global consumerConfig ptr before main function run
default registry code as showed above:
we support default ip and port for them
config.NewDefaultRegistryConfig("nacos")
config.NewDefaultRegistryConfig("consul")
config.NewDefaultRegistryConfig("zookeeper")
config.NewDefaultApplicationConfig()
Pls. refer to HOWTO.md under the root directory to run this sample.