- Implement RemoveConfig API for nacos and zookeeper
- Expose TLSConfig for config api
- Add subscribe any value
- Implement condition routing basic functions and complete related tests
- Implement dynamic routing
- Tag route static config
- Upgrade nacos 2.x
- Print logs of registered providers and consumers
- Add request processing total and request succeed total metrics
- Add some metrics about RT
- Add metrics base api interface
- Sliding window and rt quantile metrics
- Fix: Call Java provider occur error use group+version on triple protocol
- Fix: Register instance protocol info to polaris when use Tripe
- Fix: Custom triple server message size
- Fix: Start a new routine when subscribing
- Fix: Upgrade hessian2 to fix java wrapper object decoding bug
- Fix: Polaris service discovery cause nil panic
- Fix: The metadata invoker is destroyed too early
- Fix: Format imports in metrics module
- Fix: Solve config bool field zero value bug by using pointer
- Fix: Disable metrics filter by default instead
- Add serviceMappingListener for application service discovery
- The argument to ioutil.ReadFile in the config.WithPath method is changed to conf.path
- Upgrade hessian2 to support java wrapper types
- Tablewrite cli show
- Refactor: remove providers and add prefix when use polaris
- Log configuration supports other frameworks and can configure log file generation directory and file size
- Ignore node not exist error message and continue retry
- Refactor: Split metrics module into multiple files
- Ignore zk node already exist when store provider/consumer metadata
- Try update value if node already exists
- Refactor: Use promauto and promhttp
- Chore: Unnecessary use of fmt.Sprintf
- Chore: Pkg imported more than once
- Fix: Consumers try to reconnect to the metadata service of offline providers infinitely
- Fix: Service discovery registry notify before return
- Fix: Do not launch Polaris governance capability if Polaris is not enabled
- Fix: Config of metrics enbale not works
- Fix: Replace assignment behavior with copy operation to avoid OOM
- CLI: Support getting metadata from metadataCenter
- Support TLS for gRPC protocols
- Support TLS for Dubbo/Triple protocols
- Support Polaris subscribe
- Support Polaris ratelimit
- Support polaris router ability
- Fix: leastactive choose wrong invoker
- Fix: add more setter of ReferenceConfigBuilder
- Fix: timeout don't support ms bug
- Fix: env DUBBO_IP_TO_REGISTRY doesn't work
- Upgrade Triple to v1.1.9
- Docs: update style and out-of-date links in readme
- Upgrade Hessian to v1.11.3
- Upgrade gopkg.in/yaml.v3 to 3.0.0
- Refactor registry polaris project
- Support Grpc based Health check
- Support xds certificate
- Support gracefully offline without registry
- Support nacosRegistry and polarisRegistry register ip and port from env
- Fix: typo correction
- Fix: revision calc
- Fix: rand.Seed() duplicate concurrent calls
- Fix: when creating metrics objects concurrently
- Fix: remove consumer of polaris
- Fix: assembleMsg bad use, pass []any as any in variadic function
- Fix: getting attributes issue
- Fix: PolarisServiceWatcher
- Fix: route with more invokers
- Fix: shutdown InternalSignal default value
- Fix: service discovery related issues and add mesh proxy mode support
- Fix: polaris Subscriber
- Fix: adaptive-service: deadlock caused by rwMutex in limiter mapper
- Chore remove apollo config center
- Reduce common directory
- Remove useless time format
- Enhance ServiceDefinition in MetadataService
- Add dubbo-go cli and edit readme
- Gost upgrade to master of latest
- Upgrade hessian2 to v1.11.1
- Configure placeholder lookup
- Enable publish servicedefinition to metadata center
- Add the set of getty logger
- Use notifyAll insteadOf notify for listener events notify
- Support hessian java method java.lang param
- Support istio xds
- Support istio xds ring hash
- Support otel trace
- Fix: where limitation not updates
- Fix: rootConfig and getty-session-param
- Fix: xds adsz empty metadata
- Fix: decode net stream bytes as getty rule
- Fix: ip register issue
- Fix: getty unit test
- Fix: remove HEADER_LENGTH in decode because of discard
- Fix: xds log use dubbogo logger
- Fix: limit rpc package data size by user's config rather than DEFAULT_LEN
- Fix: complete grpc based protocol panic recover handle
- Add req.Data to OnMessage panic error log
- Add nacos updateCacheWhenEmpty options
- Xds enhancement
- Mock etcd and nacos in ut
- Use summary type to observe p99
- Remove gomonkey
- Optimized load balancing algorithm
- RandomLoadBalance code optimization
- Export hessian type api
- Export method getArgsTypeList for extension
- Support Graceful Shutdown
- Support
$invokeAsync
for generic service - Support config the Nacos context path
- Fix: JSON-RPC request timeout time dynamically
- Fix: the heartbeat of polaris cannot be reported
- Fix: triple protocol request doesn't carry attachment such as group or version
- Fix: location trim space
- Fix: add category key to the Consumer for diff with Provider
- Disabled Adaptive Service if set disabled by the Client
- Don't load Adaptive Service Filter if not set
- Log print the caller
- Refactor invocation interface
- Refactor Nacos listener check-healthy
- Refactor Zookeeper dynamic configuration listener
- Adaptive service support
- User defined configuration of dubbogo.yml
- Extend configuration file format
- Polaris-Mesh reigstry support
- Triple proto reflection support
- Triple pb with jaeger tracing support
- Validate nacos's user and password configuration
- Fix bug of service configuration exported field
- Fix bug of attachments' nil or empty string
- Fix bug of zookeeper cpu idling
- Fix bug of register url without group/version key if value is empty, instead of "" value.
- Fix Hessian encode attachments return error
- Fix consumer zk registry path bug
- Fix bug of graceful shutdown filter
- Validate nacos service-discovery's group and namespace
- Validate consumer config's 'check' key
- Set rootConfig to global rootConfig pointer in init function
- Fix bug of register of app-level-service-discovery not use metadata's configuration
- Add triple max size configuration
- Hessian2 supports setting the type of Java method parameters
- Logger of dubbo-go internal codes are changed to the framework's logger
- Nacos suppports unregister and unsubscribe
- Register service mapping using registry config's address
- Add nacos registry url's 'methods' key
- Filter with single instance
- Refactor of listen dir event
- Load reference before service
- Change triple's http2 implementation from net/http to grpc
- Adjuest the startup process of configcenter
-
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.
-
Fix: fix the exception when tcp timeout is less than 1s for 3.0 #1362
-
Delete zk registry when set defualt consumer/provider config
- Add Triple Msgpack Codec
- Add Triple user defined serializer support
- Add gRPC provider reference in codes generated by protoc-gen-dubbo3
- Add integration tests using dubbo-go-samples
- Add service discovery support etcd remote reporter
- Add service discovery support nacos remote reporter
- Add grpc server reflection register logic
- Make remote metadata center configurable
- Enhance nacos connection
- Add unit tests for zk metadata report
- Restructuring remoting metadata service
- Dependency prompting for unit tests
- Make cluster interceptor a chain
- Improve etcd version and change create to put
- Remove reflect in grpc server
- Change lb hash logic
- Fix: zk invoker refer check fail,and service will be added in cache invokers fail problem
- Fix: app level service discovery local mod URL serialize fail problem
- Fix: m1 cpu exec fail problem
- Fix: metadata info struct contains unsupported field
- Fix: go race in directory
- Fix: zk name changes from default to conn location
Milestone:
- Add triple protocol
- Add dubbo3 router
- Add app-level remote service discovery
- Add default config
- Add pass through proxy factory
- Replace default config string with const value
- Add retry times in zookeeper starting
- Client pool enhance
- Impl the way of load configure file
- Fix: get failback error
- Fix: delete a service provider when using k8s hpa
- Fix: fix reExporter bug when config-center {applicationName}.configurator data change
- Fix: stop the provider app panic error
- bump github.com/RoaringBitmap/roaring from 0.6.0 to 0.6.1
- bump github.com/RoaringBitmap/roaring from 0.5.5 to 0.6.0
- bump github.com/RoaringBitmap/roaring from 0.5.5 to 0.6.0
- Bump github.com/magiconair/properties from 1.8.4 to 1.8.5
Milestone:
- Add dubbo-go-cli telnet tool
- Add Prox ImplementFunc to allow override impl
- Add read configuration path from the command line when start
- Add use invoker with same ip as client first
- Add an "api way" to set general configure
- Add registry ip:port set from enviroment variable
- introduce ConfigPostProcessor extension
- Impl extension of two urls comparison
- using event-driven to let router send signal to notify channel
- lint codes
- Imp: destroy invoker smoothly
- Improve config center
- Fix: generic struct2MapAll key of map keep type
- Fix: when events empty, delete all the invokers
- Fix: file service discovery run in windows
- Fix: make metadata report work without serviceDiscovery
- Fix: consumer invoker cache set nil after the ZK connection is lost
- Fix: integration test in Github action
- Fix: etcd exit panic
- Fix: when connect to provider fail, will occur panic
- Fix: support getty send Length, when the data transfer failed
- Fix: RPCInvocation.ServiceKey use PATH_KEY instead of INTERFACE_KEY
- Fix: zk too many tcp conn
- Fix: fix zk listener func pathToKey
- Fix: graceful shutdown
- Fix: nacos service provider does not require subscribe
- Fix: key of generic map convert is more general
- Fix: body buffer too short
- Bump dubbo-go-hessian2 from v1.9.0-rc1 to v1.9.1
- Bump github.com/nacos-group/nacos-sdk-go from 1.0.5 to v1.0.7
Milestone:
- Add Address notification batch mode
- Add dubbo-gen stream support
- Add Change verify to Makefile
- Add more automatic components
- Add grpc max message size config
- when it need local ip, it will get it every time. We can get local ip once, and reused it
- enhance client's connectivity
- Imp: get local ip once and reused it
- Remove unmeaning logic
- Fix: nacos registry can not get namespaceId @peaman
- Fix: url encode
- Fix: try to fix too many files open error
- Fix: refact heartbeat
- Fix: router_config add &url to url
- Fix: Router chain can not build immediately when started
- Fix: client block until timeout when provider return with PackageResponse_Exception
- Fix: URL.String() data race panic
- Fix: generic "encode hessian.Object"
- Bump github.com/mitchellh/mapstructure from 1.2.3 to 1.3.3
- Bump github.com/go-resty/resty/v2 from 2.1.0 to 2.3.0
- Bump github.com/opentracing/opentracing-go from 1.1.0 to 1.2.0
- Bump github.com/creasty/defaults from 1.3.0 to 1.5.1
- Bump github.com/dubbogo/gost from 1.9.1 to 1.9.2
- Bump github.com/zouyx/agollo/v3 from 3.4.4 to 3.4.5
- Bump github.com/golang/mock from 1.3.1 to 1.4.4
- Bump github.com/nacos-group/nacos-sdk-go from 1.0.0 to 1.0.1
- Bump github.com/magiconair/properties from 1.8.1 to 1.8.4
- Bump github.com/prometheus/client_golang from 1.1.0 to 1.8.0
- Bump go.uber.org/atomic from 1.6.0 to 1.7.0
Milestone: https://github.com/apache/dubbo-go/milestone/5
- Fix etcd cluster reconnect
- Fix zookeeper deadlock problem
- Fix generic struct2MapAll
- Fix Consumer panic when restart provider
- Fix etcd can not registry @lin-jianjun
- Fix cannot call go provider service when used by java dubbo 2.7.7 version @jack15083
- Fix go client quit abnormally when it connects java server @wenxuwan
- Fix sentinel windows issue @louyuting
- Fix metadata default port @sanxun0325
- Fix consul can not destroy @LaurenceLiZhixin
Milestone: https://github.com/apache/dubbo-go/milestone/6
- Add consul service discovery @zhangshen023
- Add File system service discovery @DogBaoBao
- Migrate travis Ci to Github Actions @sdttttt
- Add sentinel-golang flow control/circuit breaker @louyuting
- Add dubbo-go docs and blog into doc directory @oaoit
- Add address notification batch mode @beiwei30
- Refactor network and codec model @fangyincheng @georgehao
- Remove unnecessary return and judgement @YongHaoWu
- Improve exporter append method @gaoxinge
- Refactor for proxyInvoker cannot be extended @cvictory
- Refactor attachment type from map[string]stiring to map[string]interface{} @cvictory
- Improve map access concurrency @skyao
- Improve code quantity @gaoxinge
- Fix etcdv3 lease @zhangshen023
- Fix rename SethealthChecker to SetHealthChecker @watermelo
- Fix init config problem in HystrixFilter @YGrylls
- Fix zookeeper listener report error after started @wenxuwan
Milestone: https://github.com/apache/dubbo-go/milestone/4
Project: https://github.com/apache/dubbo-go/projects/10
- Fix etcd cluster reconnect
- Fix zookeeper deadlock problem
- Fix generic struct2MapAll
- Fix Consumer panic when restart provider
- Fix etcd can not registry @lin-jianjun
- Fix cannot call go provider service when used by java dubbo 2.7.7 version @jack15083
- Fix go client quit abnormally when it connects java server @wenxuwan
- Fix sentinel windows issue @louyuting
- Fix metadata default port @sanxun0325
- Fix consul can not destroy @LaurenceLiZhixin
Milestone: https://github.com/apache/dubbo-go/milestone/6
- Add consul service discovery @zhangshen023
- Add File system service discovery @DogBaoBao
- Migrate travis Ci to Github Actions @sdttttt
- Add sentinel-golang flow control/circuit breaker @louyuting
- Add dubbo-go docs and blog into doc directory @oaoit
- Add address notification batch mode @beiwei30
- Refactor network and codec model @fangyincheng @georgehao
- Remove unnecessary return and judgement @YongHaoWu
- Improve exporter append method @gaoxinge
- Refactor for proxyInvoker cannot be extended @cvictory
- Refactor attachment type from map[string]stiring to map[string]interface{} @cvictory
- Improve map access concurrency @skyao
- Improve code quantity @gaoxinge
- Fix etcdv3 lease @zhangshen023
- Fix rename SethealthChecker to SetHealthChecker @watermelo
- Fix init config problem in HystrixFilter @YGrylls
- Fix zookeeper listener report error after started @wenxuwan
Milestone: https://github.com/apache/dubbo-go/milestone/4
Project: https://github.com/apache/dubbo-go/projects/10
- Add dynamic tag router
- Add TLS support
- Add Nearest first for multiple registry
- Add application and service level router
- Add dynamic tag router
- Avoid init the log twice
- Correct words and format codes
- Change log stack level from warn to error
- Optimize remotes configuration
- Fix register service instance after provider config load
- Fix call subscribe function asynchronously
- Fix tag router rule copy
- Fix nacos unit test failed
- Fix can not inovke nacos destroy when graceful shutdown
- Fix zk lost event
- Fix k8s ut bug
Milestone: https://github.com/apache/dubbo-go/milestone/2?closed=1
Project: https://github.com/apache/dubbo-go/projects/8
- Application-Level Registry Model
- Support grpc json protocol
- Ftr: using different labels btw provider and consumer, k8s service discovery across namespaces
- Optimize err handling
- Add attribute method into Invocation and RpcInvocation
- Optimize lock for zookeeper registry
- Improve code coverage of zookeeper config center
- Improve code coverage of nacos config center and configuration parser
- Kubernetes as registry enhance
- Optimize zk client's lock and tests
- Add setInvoker method for invocation
- Upgrade getty & hessian2
- Optimize router design: Extract priority router
- NamespaceId config for nacos
- Fix Gitee problem
- Gitee quality analyses -- common
- Nacos client logDir path seperator for Windows
- Fix various linter warnings
- Fixed some issues in config folder that reported by sonar-qube
- Zk disconnected, dubbo-go panic when subscribe
- Enhancement cluster code analysis
- Add comment for common directory
- Add comments for config_center
- Update the comments in metrics
- Add comments for config
- Updated the dubbo-go-ext image
- Add comment for cluster
- Update the comments in filter directory
- Add comment for metadata
- Update the comments in protocol directory
- Add comments for remoting
- Update the comments in registy directory
- Condition router
- Context support
- Opentracing & transfer context end to end for jsonrpc protocol
- Opentracing & transfer context end to end for dubbo protocol
- Grpc tracing for client and server
- Nacos config center
- Prometheus support
- Support sign and auth for request
- Healthy instance first router
- User can add attachments for dubbo protocol
- K8s as registry
- Rest protocol
- Reduce the scope of lock in zk listener
- Trace error of getGettyRpcClient
- Refactor to add base_registry
- Do not listen to directory event if zkPath ends with providers/ or consumers/
- Add apollo config center support
- Gracefully shutdown
- Add consistent hash load balance support
- Add sticky connection support
- Add async call for dubbo protocol
- Add generic implement
- Add request timeout for method
- Add grpc protocol
- The SIGSYS and SIGSTOP are not supported in windows platform
- Error should be returned when
NewURL
failed - Split config center GetConfig method
- Modify closing method for dubbo protocol
- Add SetLoggerLevel method
- Change the position of the lock
- Change zk version and add base_registry
- Fix negative wait group count
- After disconnection with ZK registry, cosumer can't listen to provider changes
- The generic filter and default reference filters lack ','
- Url encode zkpath
- Fix jsonrpc about HTTP/1.1
- Fix zk bug
- HessianCodec failed to check package header length
- Add etcdv3 registry support
- Add nacos registry support
- Add fail fast cluster support
- Add available cluster support
- Add broadcast cluster support
- Add forking cluster support
- Add service token authorization support
- Add accessLog filter support
- Add tps limit support
- Add execute limit support
- Move callService to invoker & support attachments
- Move example in dubbo-go project away
- Support dynamic config center which compatible with dubbo 2.6.x & 2.7.x and commit the zookeeper impl
- Split gettyRPCClient.close and gettyRPCClientPool.remove in protocol/dubbo/pool.go
- Remove client from pool before closing it
- Enhance the logic for fetching the local address
- Add protocol_conf default values
- Add task pool for getty
- Update getty: remove read queue
- Clean heartbeat from PendingResponse
- GettyRPCClientPool remove deadlock
- Fix failover cluster bug and url parameter retries change int to string type
- Fix url params unsafe map
- Read protocol config by map key in config yaml instead of protocol name
- Fix dubbo group issues #238 pr #243 and pr #244
- Fix bug in reference_config
- Fix high memory bug in zookeeper listener