Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

💧Waterdrop is a high performance micro service framework. Waterdrop comes from (The Three Body Problem).

License

NotificationsYou must be signed in to change notification settings

UnderTreeTech/waterdrop

Repository files navigation

English |简体中文

GocodecovGo Report CardReleaseLicense

Waterdrop

Waterdrop is a high performance micro-service framework based on gin and grpc. Waterdrop comes from (The Three Body Problem).waterdrop

Features

  • HTTP Server: Based ongin and can reuse all its features
  • RPC Server: Based on the officialgRPC-go and use ETCD for service registration and discovery,default load balancing policy is roundrobin
  • Conf: Support YAML, TOML, JSON and other extensions, default TOML parsing, user can decide whether or not towatch the config file changes for hot reload configuration
  • Database: Integrated MySQL, Redis
  • Log: Based on Zap encapsulation
  • Trace: Integrate Opentracing access and use jaeger to record trace records
  • Distribute Lock: distributed Lock is implemented based on Redis and ETCD.The former is suitable for final consistent business locks, while the latter is suitable for strongly consistent business locks
  • Stats: Metrics & Profile for service operation
  • Broker: Support RocketMQ and Kafka
  • Utils: Helper class function
  • Registry: Service Registry discovery, etcd is the default service discovery component
  • Status: Global error handling for error conversion between HTTP/RPC
  • Dashboard: Build metrics dashboard based on Grafana, to be implemented
  • Breaker: Supportalibaba sentinel,google sre breaker
  • Middlewares & Interceptors: HTTP/RPC Server common middleware, such as recovery, trace, metric and logger,etc

Installation

go get github.com/UnderTreeTech/waterdrop

Tools

Execute the following command to get waterdrop tool to help you boost your development progress

go get -u github.com/UnderTreeTech/waterdrop/tools/waterdrop

You can usewaterdrop help to find out how to use tools

You can generate protobuf codes but make sure you've already installedprotc andprotoc-gen-go.Here we don't install the two plugins automatically because we are not sure which version you will choose.

  • waterdrop new your_project_name new a standard layout project
  • waterdrop protoc --grpc --swagger xx.proto generate grpc code and swagger api file
  • waterdrop swagger serve xx.swagger.json serve and browse swagger api
  • waterdrop utgen xx.go generate unit tests
  • waterdrop upgrade upgrade toolwaterdrop

Contributing

Contributions are always welcomed! You can start with the issues labeled with bug or feature.

About

💧Waterdrop is a high performance micro service framework. Waterdrop comes from (The Three Body Problem).

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors5

Languages


[8]ページ先頭

©2009-2026 Movatter.jp