github.com/unionj-cloud/go-doudou@v1.3.8-0.20221011095552-0088008e5b31/README.md (about) 1 <p align="center"> 2 <a href="https://go-doudou.github.io" target="_blank" rel="noopener noreferrer"> 3 <img width="180" src="https://go-doudou.github.io/hero.png" alt="Vite logo"> 4 </a> 5 </p> 6 <br/> 7 <p align="center"> 8 <a href="https://github.com/avelino/awesome-go"><img src="https://awesome.re/mentioned-badge.svg" alt="Mentioned in Awesome Go"></a> 9 <a href="https://godoc.org/github.com/unionj-cloud/go-doudou"><img src="https://godoc.org/github.com/unionj-cloud/go-doudou?status.png" alt="GoDoc"></a> 10 <a href="https://github.com/unionj-cloud/go-doudou/actions/workflows/go.yml"><img src="https://github.com/unionj-cloud/go-doudou/actions/workflows/go.yml/badge.svg?branch=main" alt="Go"></a> 11 <a href="https://codecov.io/gh/unionj-cloud/go-doudou"><img src="https://codecov.io/gh/unionj-cloud/go-doudou/branch/main/graph/badge.svg?token=QRLPRAX885" alt="codecov"></a> 12 <a href="https://goreportcard.com/report/github.com/unionj-cloud/go-doudou"><img src="https://goreportcard.com/badge/github.com/unionj-cloud/go-doudou" alt="Go Report Card"></a> 13 <a href="https://github.com/unionj-cloud/go-doudou"><img src="https://img.shields.io/github/v/release/unionj-cloud/go-doudou?style=flat-square" alt="Release"></a> 14 <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> 15 <a href="https://wakatime.com/badge/user/852bcf22-8a37-460a-a8e2-115833174eba/project/57c830f7-e507-4cb1-9fd1-feedd96685f6"><img src="https://wakatime.com/badge/user/852bcf22-8a37-460a-a8e2-115833174eba/project/57c830f7-e507-4cb1-9fd1-feedd96685f6.svg" alt="License: MIT"></a> 16 </p> 17 <br/> 18 19 # go-doudou 20 21 > Lightweight Golang Microservice Framework 22 23 - 💡 Starts from golang interface, no need to learn new IDL(interface definition language). 24 - 🛠️ Built-in SWIM gossip protocol based service register and discovery mechanism to help you build a robust, scalable and decentralized service cluster. 25 - 🔩 Powerful code generator cli built-in. After defining your interface methods, your only job is implementing your awesome idea. 26 - ⚡ Born from the cloud-native era. Built-in CLI can speed up your product iteration. 27 - 🔑 Built-in service governance support including remote configuration management, client-side load balancer, rate limiter, circuit breaker, bulkhead, timeout, retry and more. 28 - 📦️ Supporting both monolith and microservice architectures gives you flexibility to design your system. 29 30 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. 31 32 Read the Docs [https://go-doudou.github.io](https://go-doudou.github.io) to Learn More. 33 34 ## Benchmark 35 36 ![benchmark](./benchmark.png) 37 38 Machine: `MacBook Pro (16-inch, 2019)` 39 CPU: `2.3 GHz 8 cores Intel Core i9` 40 Memory: `16 GB 2667 MHz DDR4` 41 ProcessingTime: `0ms, 10ms, 100ms, 500ms` 42 Concurrency: `1000` 43 Duration: `30s` 44 go-doudou Version: `v1.3.7` 45 46 [Checkout the test code](https://github.com/wubin1989/go-web-framework-benchmark) 47 48 ## Credits 49 50 Give credits to following repositories and all their contributors: 51 - [hashicorp/memberlist](https://github.com/hashicorp/memberlist): go-doudou is relying on it to implement service register/discovery/fault tolerance feature. 52 - [gorilla/mux](https://github.com/gorilla/mux): go-doudou is relying on it to implement http router. 53 - [go-redis/redis_rate](github.com/go-redis/redis_rate): go-doudou is relying on it to implement redis based rate limit feature 54 - [apolloconfig/agollo](https://github.com/apolloconfig/agollo): go-doudou is relying on it to implement remote configuration management support for [Apollo](https://github.com/apolloconfig/apollo) 55 - [nacos-group/nacos-sdk-go](https://github.com/nacos-group/nacos-sdk-go): go-doudou is relying on it to implement service discovery and remote configuration management support for [Nacos](https://github.com/alibaba/nacos) 56 57 ## Community 58 59 Welcome to contribute to go-doudou by forking it and submitting pr or issues. If you like go-doudou, please give it a 60 star! 61 62 Welcome to contact me from 63 64 - Facebook: [https://www.facebook.com/bin.wu.94617999/](https://www.facebook.com/bin.wu.94617999/) 65 - Twitter: [https://twitter.com/BINWU49205513](https://twitter.com/BINWU49205513) 66 - Email: 328454505@qq.com 67 - WeChat: 68 <img src="./qrcode.png" alt="wechat-group" width="240"> 69 - WeChat Group: 70 <img src="./go-doudou-wechat-group.png" alt="wechat-group" width="240"> 71 - QQ group: 72 <img src="./go-doudou-qq-group.png" alt="qq-group" width="240"> 73 74 ## 🔋 JetBrains Open Source License 75 76 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. 77 78 <a href="https://jb.gg/OpenSourceSupport" target="_blank"><img src="https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png" alt="JetBrains Logo (Main) logo." width="300"></a> 79 80 ## License 81 82 MIT