Go Implementation For Apache Dubbo .
bugfixes
$invokeAsync
for generic service
Fix bug of register url without group/version key if value is empty, instead of "" value.
Set rootConfig to global rootConfig pointer in init function
Fix bug of register of app-level-service-discovery not use metadata's configuration
Triple features
Refer to QuickStart of dubbo-go 3.0, and Dubbo-go-samples to try protoc-gen-go-triple pb generator plugin.
Response exception from client
Triple client can get the error stacks from server, pointing to real error occurs position.
Refer to Docs of dubbo-go 3.0 Metrics, and [dubbo-go-samples/metrics] to try new metrics support.
Remove sleep to wait for service discovery logic
Set reference check default to true and remove extra time.Sleep logic in client side during service-discovery remove time.Sleep
Refer to Docs of dubbo-go 3.0 Router, and dubbo-go-samples/meshrouter to try dynamic mesh router support.
New config API support New root config API builder
Refer to Docs of dubbo-go 3.0 Configuration, and dubbo-go-samples/config-api to try new config API.
Refer to Docs of dubbo-go 3.0 logger, and dubbo-go-samples/logger to try new logger support.
Refer to Docs of dubbo-go 3.0 generic, and dubbo-go-samples/generic to try new generic support.
One of the biggest update in this release is the configuration optimization. We discarded the old configuration and introduced a new one. Currently, the new configuration has been updated to the master branch of samples (corresponding to latest dubbo-go 3.0), and there are introductions and detailed examples on the our website dubbogo.github.
Triple:
Set default tcp read buffer to 4k to decrease gc, and descrease CPU usage by 60% of 3.0.0-rc2
Use class Name as the default reference name
You can set service/refernce key to provider/consumer's struct name: Config samples & Target provider struct,
And there is no needs to define (p*Provider) Reference() method from now on.