{"id":13412566,"url":"https://github.com/unionj-cloud/go-doudou","last_synced_at":"2025-05-14T09:12:32.819Z","repository":{"id":39710372,"uuid":"341813963","full_name":"unionj-cloud/go-doudou","owner":"unionj-cloud","description":"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.","archived":false,"fork":false,"pushed_at":"2025-05-13T13:13:25.000Z","size":35291,"stargazers_count":1195,"open_issues_count":33,"forks_count":205,"subscribers_count":73,"default_branch":"main","last_synced_at":"2025-05-13T13:49:30.349Z","etag":null,"topics":["apollo","cloud-native","etcd","framework","go","golang","grpc","grpc-go","microservice","nacos","openapi","orm","rate-limiting","rest","restful-api","service-mesh","swagger3"],"latest_commit_sha":null,"homepage":"https://go-doudou.github.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unionj-cloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-02-24T07:21:40.000Z","updated_at":"2025-05-13T13:13:29.000Z","dependencies_parsed_at":"2023-10-13T11:21:10.288Z","dependency_job_id":"c41a5442-41a1-428f-9a47-25cb3910d1b5","html_url":"https://github.com/unionj-cloud/go-doudou","commit_stats":{"total_commits":1115,"total_committers":16,"mean_commits":69.6875,"dds":"0.12914798206278022","last_synced_commit":"f612a01d3319877d1ec91ff2f400afda9c035a09"},"previous_names":["unionj-cloud/papilio"],"tags_count":188,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unionj-cloud%2Fgo-doudou","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unionj-cloud%2Fgo-doudou/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unionj-cloud%2Fgo-doudou/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unionj-cloud%2Fgo-doudou/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unionj-cloud","download_url":"https://codeload.github.com/unionj-cloud/go-doudou/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110377,"owners_count":22016391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apollo","cloud-native","etcd","framework","go","golang","grpc","grpc-go","microservice","nacos","openapi","orm","rate-limiting","rest","restful-api","service-mesh","swagger3"],"created_at":"2024-07-30T20:01:26.223Z","updated_at":"2025-05-14T09:12:32.798Z","avatar_url":"https://github.com/unionj-cloud.png","language":"Go","readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://go-doudou.github.io\" target=\"_blank\" rel=\"noopener noreferrer\"\u003e\n    \u003cimg width=\"180\" src=\"https://go-doudou.github.io/hero.png\" alt=\"Vite logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/avelino/awesome-go\"\u003e\u003cimg src=\"https://awesome.re/mentioned-badge.svg\" alt=\"Mentioned in Awesome Go\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://godoc.org/github.com/unionj-cloud/go-doudou\"\u003e\u003cimg src=\"https://godoc.org/github.com/unionj-cloud/go-doudou?status.png\" alt=\"GoDoc\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/unionj-cloud/go-doudou/actions/workflows/go.yml\"\u003e\u003cimg src=\"https://github.com/unionj-cloud/go-doudou/actions/workflows/go.yml/badge.svg?branch=main\" alt=\"Go\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/unionj-cloud/go-doudou\"\u003e\u003cimg src=\"https://codecov.io/gh/unionj-cloud/go-doudou/branch/main/graph/badge.svg?token=QRLPRAX885\" alt=\"codecov\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://goreportcard.com/report/github.com/unionj-cloud/go-doudou\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/unionj-cloud/go-doudou\" alt=\"Go Report Card\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/unionj-cloud/go-doudou\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/unionj-cloud/go-doudou?style=flat-square\" alt=\"Release\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://wakatime.com/badge/user/852bcf22-8a37-460a-a8e2-115833174eba/project/57c830f7-e507-4cb1-9fd1-feedd96685f6\"\u003e\u003cimg src=\"https://wakatime.com/badge/user/852bcf22-8a37-460a-a8e2-115833174eba/project/57c830f7-e507-4cb1-9fd1-feedd96685f6.svg\" alt=\"License: MIT\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\n# go-doudou\n\n\u003e Lightweight Golang Microservice Framework\n\n- 💡 Starts from golang interface, no need to learn new IDL(interface definition language).\n- 🔩 Powerful code generator cli built-in. After defining your interface methods, your only job is implementing your awesome idea.\n- ⚡ Born from the cloud-native era. Built-in CLI can speed up your product iteration.\n- 🔑 Built-in service governance support including remote configuration management, client-side load balancer, rate limiter, circuit breaker, bulkhead, timeout, retry and more.\n- 📦️ Supporting both monolith and microservice architectures gives you flexibility to design your system.\n\nGo-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.  \n\nRead the Docs [https://go-doudou.github.io/guide](https://go-doudou.github.io/guide) to Learn More.\n\n## Benchmark\n\n![benchmark](./benchmark.png)\n\nMachine: `MacBook Pro (16-inch, 2019)`  \nCPU: `2.3 GHz 8 cores Intel Core i9`  \nMemory: `16 GB 2667 MHz DDR4`  \nProcessingTime: `0ms, 10ms, 100ms, 500ms`  \nConcurrency: `1000`  \nDuration: `30s`  \ngo-doudou Version: `v1.3.7`  \n\n[Checkout the test code](https://github.com/wubin1989/go-web-framework-benchmark)\n\n## Credits\n\nGive credits to following repositories and all their contributors:\n- [go-redis/redis_rate](github.com/go-redis/redis_rate): go-doudou is relying on it to implement redis based rate limit feature\n- [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)\n- [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)\n\n## Community\n\nWelcome to contribute to go-doudou by forking it and submitting pr or issues. If you like go-doudou, please give it a\nstar!\n\nWelcome to contact me from\n\n- Facebook: [https://www.facebook.com/bin.wu.94617999/](https://www.facebook.com/bin.wu.94617999/)\n- Twitter: [https://twitter.com/BINWU49205513](https://twitter.com/BINWU49205513)\n- Email: 328454505@qq.com\n- WeChat:  \n  \u003cimg src=\"./qrcode.png\" alt=\"wechat-group\" width=\"240\"\u003e\n- WeChat Group:  \n  \u003cimg src=\"./go-doudou-wechat-group.png\" alt=\"wechat-group\" width=\"240\"\u003e\n- QQ group:  \n  \u003cimg src=\"./go-doudou-qq-group.png\" alt=\"qq-group\" width=\"240\"\u003e\n\n## 🔋 JetBrains Open Source License\n\nGo-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.\n\n\u003ca href=\"https://jb.gg/OpenSourceSupport\" target=\"_blank\"\u003e\u003cimg src=\"https://resources.jetbrains.com/storage/products/company/brand/logos/jb_beam.png\" alt=\"JetBrains Logo (Main) logo.\" width=\"300\"\u003e\u003c/a\u003e\n\n## License\n\nMIT\n","funding_links":[],"categories":["Distributed Systems","\u003ca name=\"Go\"\u003e\u003c/a\u003eGo","Relational Databases","分布式系统","Go","Repositories"],"sub_categories":["Search and Analytic Databases","Advanced Console UIs","检索及分析资料库"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funionj-cloud%2Fgo-doudou","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funionj-cloud%2Fgo-doudou","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funionj-cloud%2Fgo-doudou/lists"}