Skip to content

Releases: unionj-cloud/go-doudou

v1.0.3 Configuration Management

23 Mar 11:42
Compare
Choose a tag to compare
  1. Add Nacos configuration management support
  2. Add Apollo configuration management support
  3. Add configuration dynamic adjustment in runtime support for go-doudou (by adjusting environment variables prefixed with GDD_) from remote configuration center
  4. Add yaml format configuration file support
  5. Other minor improvements

v1.0.2

12 Mar 03:31
Compare
Choose a tag to compare

Changelog

  • Add rootPath field to go client struct for configuring path prefix when sending http requests
  • Add Nacos as another option for service discovery
  • Add NacosRRServiceProvider and NacosWRRServiceProvider for supporting load balancing of services fetched from Nacos server
  • Fix bug for OpenAPI 3.0 onlinedoc when GDD_ROUTE_ROOT_PATH is set
  • Replaced json marshal with msgpack for serializing node meta data, which makes meta data size smaller nearly 40% than json, but the optimization also makes v1.0.2 not compatible with old versions. Please upgrade go-doudou to the latest version if possible.

v1.0.0

07 Mar 08:30
Compare
Choose a tag to compare

Changelog

  • Rearraged project structure to make developers understand this project more easily
  • Disable calculating weight mechanism by default and optimize config default value
  • Add cors support for /go-doudou/openapi.json endpoint for third-party code generation tool
  • Update online documentation html for rendering recursive data structure such as tree
  • Update online documentation html for rendering html code in doc content
  • Add headers parameter to go client method signatures
  • Other minor optimizations

v0.9.8

10 Feb 10:01
Compare
Choose a tag to compare
  1. Add *resty.Response to go client sdk return parameters inspired by github go sdk
  2. Add new feature to IDL: non-pointer parameters are required, pointer parameters are optional
  3. Support variadic functions in IDL: varargs parameters will be treated as pointer-slice type, means optional
  4. Add request parameters required validation feature
  5. Add BizError struct for passing error message, business error code and http status code from service implementation layer to http handler layer
  6. Add GDD_MEM_LOG_DISABLE environment variable to disable memberlist log, default is false
  7. Some minor fixes and optimizations

v0.9.7

26 Jan 07:52
Compare
Choose a tag to compare
  1. Fix registry endpoint bug: when a node left and come back, the node's status is still suspect in browser.
  2. Add --pre flag to go-doudou svc push subcommand to let developer add prefix string to docker image name.
  3. Add a built-in endpoint GET /go-doudou/config to display all environment variable pairs in browser.
  4. Add latest release version notify and upgrade feature by go-doudou version command

v0.9.6 Fix incorrectly leave

19 Jan 16:22
Compare
Choose a tag to compare
  1. Remove mlist.Leave from registry.Shutdown method because calling leave method will send a left message to remote peers and make its state to be StateLeft. A node won't gossip messages to StateLeft nodes any more. If left a cluster incorrectly by calling leave method, the node won't have any chance to refute suspect or dead message to let remote peers know it still alive (or become alive again).
  2. Add another package level method for leaving cluster
// Leave leaves the cluster on purpose
func Leave(timeout time.Duration) {
	if mlist != nil {
		_ = mlist.Leave(timeout)
		logger.Info("local node left the cluster")
	}
}

v0.9.5

18 Jan 11:00
Compare
Choose a tag to compare
  1. Optimization: disable memberlist node weight calculation when GDD_MEM_WEIGHT is set to >0
  2. Optimization: update openapi doc ui to latest version of go-doudou-openapi-ui with new feature that sidebar menu width can be ajusted

v0.9.4 Redis GCRA Rate Limiter

17 Jan 06:17
Compare
Choose a tag to compare
  1. Add Redis GCRA Rate Limiter
  2. Refactored ratelimit package
  3. Support configuring rate limit by formatted string, for example: 0.0055 reqs/second with burst 20: "0.0055-S-20"
  4. Type of MemoryStore field keys is changed from map to *lru.Cache in order to control memory usage

v0.9.2 Log and ELK stack

13 Jan 06:24
Compare
Choose a tag to compare

Improved log feature for supporting ELK stack better

v0.9.1 Circuitbreaker/Timeout/Retry/Prometheus

11 Jan 09:20
Compare
Choose a tag to compare
  1. Add Circuitbreaker/Timeout/Retry support (including metrics for Prometheus)
  2. Add custom Prometheus service discovery for go-doudou services