Categorygithub.com/unionj-cloud/go-doudou

# README

Vite logo


Mentioned in Awesome Go GoDoc Go codecov Go Report Card Release License: MIT License: MIT


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

# Packages

Copyright © 2021 wubin1989 <[email protected]> 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.