go-doudou

command module
v2.5.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2024 License: MIT Imports: 1 Imported by: 0

README

Vite logo


Mentioned in Awesome Go GoDoc Go codecov Go Report Card Release


go-doudou

Lightweight Golang Microservice Framework

  • 💡 Starts from golang interface, no need to learn new IDL(interface definition language).
  • 🔩 Powerful code generator cli built-in. After defining your interface methods, your only job is implementing your awesome idea.
  • ⚡ Born from the cloud-native era. Built-in CLI can speed up your product iteration.
  • 🔑 Built-in service governance support including remote configuration management, client-side load balancer, rate limiter, circuit breaker, bulkhead, timeout, retry and more.
  • 📦️ Supporting both monolith and microservice architectures gives you flexibility to design your system.

Go-doudou(doudou pronounce /dəudəu/)is OpenAPI 3.0 (for REST) spec and Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well.

Read the Docs https://go-doudou.github.io/guide to Learn More.

Benchmark

benchmark

Machine: MacBook Pro (16-inch, 2019)
CPU: 2.3 GHz 8 cores Intel Core i9
Memory: 16 GB 2667 MHz DDR4
ProcessingTime: 0ms, 10ms, 100ms, 500ms
Concurrency: 1000
Duration: 30s
go-doudou Version: v1.3.7

Checkout the test code

Credits

Give credits to following repositories and all their contributors:

Community

Welcome to contribute to go-doudou by forking it and submitting pr or issues. If you like go-doudou, please give it a star!

Welcome to contact me from

🔋 JetBrains Open Source License

Go-doudou has been being developed with GoLand under the free JetBrains Open Source license(s) granted by JetBrains s.r.o., hence I would like to express my gratitude here.

JetBrains Logo (Main) logo.

License

MIT

Documentation

Overview

Copyright © 2021 wubin1989 <328454505@qq.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Directories

Path Synopsis
cmd
mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
configmgr/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
ratelimit/memrate
Package memrate provides a rate limiter.
Package memrate provides a rate limiter.
registry/nacos
* Copyright 1999-2020 Alibaba Group Holding Ltd.
* Copyright 1999-2020 Alibaba Group Holding Ltd.
registry/nacos/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
rest
Package rest serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
Package rest serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
rest/httprouter
Package httprouter is a trie based high performance HTTP request router.
Package httprouter is a trie based high performance HTTP request router.
rest/lazyregexp
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
rest/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
rest/profile
Package profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.
Package profile provides a representation of github.com/google/pprof/proto/profile.proto and methods to encode/decode/merge profiles in this format.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL