{"id":13487573,"url":"https://github.com/gudaoxuri/dew","last_synced_at":"2025-05-16T12:12:20.322Z","repository":{"id":40680555,"uuid":"86278665","full_name":"gudaoxuri/dew","owner":"gudaoxuri","description":"微服务一站式解决方案，提供：架构指南、容器优先/兼容Spring Cloud与Service Mesh的框架、最佳实践及Devops标准化流程。","archived":false,"fork":false,"pushed_at":"2024-07-02T06:19:15.000Z","size":93168,"stargazers_count":397,"open_issues_count":14,"forks_count":178,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-04-09T07:04:58.810Z","etag":null,"topics":["auth","dew","hazel","istio","k8s","kubernetes","microservices","redis","service-mesh","spring-boot","springcloud"],"latest_commit_sha":null,"homepage":"http://doc.dew.idealworld.group/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gudaoxuri.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.adoc","contributing":"CONTRIBUTING.adoc","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}},"created_at":"2017-03-27T01:38:07.000Z","updated_at":"2025-03-20T00:56:34.000Z","dependencies_parsed_at":"2022-08-10T00:40:51.692Z","dependency_job_id":"342c3b0f-150c-4cb9-9f51-8695a06c5c9a","html_url":"https://github.com/gudaoxuri/dew","commit_stats":{"total_commits":581,"total_committers":16,"mean_commits":36.3125,"dds":"0.32013769363166955","last_synced_commit":"23be7cb9e3a7b70124152a1e63219f67e5a9b48c"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudaoxuri%2Fdew","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudaoxuri%2Fdew/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudaoxuri%2Fdew/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gudaoxuri%2Fdew/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gudaoxuri","download_url":"https://codeload.github.com/gudaoxuri/dew/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254527099,"owners_count":22085919,"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":["auth","dew","hazel","istio","k8s","kubernetes","microservices","redis","service-mesh","spring-boot","springcloud"],"created_at":"2024-07-31T18:01:00.756Z","updated_at":"2025-05-16T12:12:19.272Z","avatar_url":"https://github.com/gudaoxuri.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"[NOTE]\n====\n``Dew`` 当前基于 ``JDK21`` + ``Spring boot 3.x`` 构建， ``Spring Cloud`` 为可选项，但更推荐使用 ``K8S`` 作为服务调度容器。\n\n如需基于 ``Spring boot 2.x`` 的容器版本请切换到 https://github.com/gudaoxuri/dew/releases/tag/3.0.0-RC5[3.0.0-RC5] tag.\n如需基于 ``Spring boot 1.x`` 的非容器版本请切换到 https://github.com/gudaoxuri/dew/releases/tag/1.5.1-RC[1.5.1-RC] tag.\n\n基于Rust的微服务框架见： https://github.com/ideal-world/tardis\n====\n\n== Dew微服务体系 Dew Microservice System\n\nimage::https://img.shields.io/travis/gudaoxuri/dew.svg[link=\"https://travis-ci.org/gudaoxuri/dew\"]\nimage::https://api.codacy.com/project/badge/Grade/aacfdad1579043f0a2c1928b53096b7b[link=\"https://app.codacy.com/app/gudaoxuri/dew?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=gudaoxuri/dew\u0026utm_campaign=Badge_Grade_Dashboard\"]\nimage::https://img.shields.io/badge/license-ASF2-blue.svg[\"Apache License 2\",link=\"https://www.apache.org/licenses/LICENSE-2.0.txt\"]\nimage::https://img.shields.io/maven-central/v/group.idealworld.dew/parent-starter[Maven Central]\n\n微服务一站式解决方案( http://doc.dew.idealworld.group )，提供：架构指南、容器优先/兼容Spring与Service Mesh的框架、最佳实践。\n\n[quote,]\n____\nDew [du:] 意为 `露水` ，希望此体系可以像晨间的露水一样透明、静谧、丰盈。让使用者尽量不要感知Dew的存在，专注业务实现。\n____\n\n=== 设计理念\n\n==== 微服务架构的尴尬\n\n几乎人人都在谈微服务，每个IT企业都在做微服务架构，但大部分项目都会存在这样的尴尬：\n\n* 什么是微服务？怎么做微服务架构？为什么这么乱？\n\n\u003e **缺乏微服务架构设计思想** 导致成功的微服务项目屈指可数，只听说微服务的好，却不知微服务的坑\n\n* 架构好了，框架怎么选择？ dubbo、Spring Boot/Cloud、Istio、Vert.x、还是自研？大一点的企业都会选择自研，但自研又会遇到如下问题：\n** 无法传承，框架的研发人员离职后没有可以接手\n** 上手难度大，很多框架喜欢重复造轮子，做出来的与业界主流思想/标准格格不入，导致学习培训成本很高\n** 功能片面，不通用，服务框架讲求通用性，尽量让整个公司使用同一套规范以方便维护，但很多框架只实现了某些特定场景的功能，无法通用化\n** 维护成本高，尤其是对于完全自研的框架，往往需要专职人员维护\n** 与主流脱节，无法分享微服务化、容器化、服务网格化的红利\n\n\u003e **没有合适的微服务框架** 导致人员技能要求高、项目研发成本高\n\n* 框架选型也有了，但怎么测试、发布与运维？都在说容器化，要怎么做？\n\n\u003e **缺少一体化的研发流程支撑** 导致各项目规范不统一、发布效率低、容器化问题频出\n\n==== Dew设计理念\n\n上述问题是Dew必须面对的，应对的设计核心理念是：\n\n----\n提供微服务架构指南 + 扩展主流微服务框架\n----\n\n.**提供微服务架构指南**\n\n项目要上微服务，其架构思想是前提，《微服务架构设计》(https://gudaoxuri.gitbook.io/microservices-architecture) 做为入门书籍非常合适。\n\n.**扩展主流微服务框架**\n\n. 简单，用最通用的、标准的、开发人员都熟悉的开发模型\n. 全面，尽量重用市场已有能力实现，减少框架自身的维护成本\n. 轻量，原则上不引入高侵入性的三方框架/类库\n. 可替换，只做扩展，尽量不修改基础框架代码，开发人员完全可以直接基于基础框架开发\n. 主流，整合流行的微服务框架\n\n实现上我们选择 `Spring Boot` 这一业界主流框架，对上兼容 `Spring Boot` 与 `Service Mesh`。\n\n=== 项目结构\n\n----\n|- framework\n|-  |- modules\n|-  |-  |- parent-starter                  // 父Pom模块\n|-  |-  |- boot-starter                    // 核心模块，包含Spring Boot Web相关依赖\n|-  |-  |- cluster-common                  // 集群能力接口\n|-  |-  |- cluster-common-test             // 集群测试模块\n|-  |-  |- cluster-hazelcast               // Hazelcast集群能力实现\n|-  |-  |- cluster-rabbit                  // RabbitMQ集群能力实现\n|-  |-  |- cluster-redis                   // Redis集群能力实现\n|-  |-  |- cluster-mqtt                    // MQTT集群能力实现\n|-  |-  |- cluster-rocket                  // Rocket MQ集群能力实现\n|-  |-  |- cluster-skywalking              // Skywalking集群能力实现\n|-  |-  |- idempotent-starter              // 幂等处理模块\n|-  |-  |- dbutils-starter                 // 动态数据库处理模块\n|-  |-  |- ossutils-starter                // OSS处理模块\n|-  |-  |- hbase-starter                   // Spring Boot HBase Starter 模块\n|-  |-  |- test-starter                    // 单元测试模块\n|-  |- assists                             // 框架辅助工具\n|-  |-  |- sdkgen-maven-plugin             // SDK自动生成、上传插件\n|-  |- checkstyle                          // 项目CheckStyle\n|- devops                                  // DevOps部分 【！新版本暂不可用！】\n|-  |- maven                               // DevOps使用到的Maven插件\n|-  |-  |- dew-maven-plugin                // DevOps核心插件\n|-  |-  |- dew-maven-agent                 // DevOps部署优化插件\n|-  |- sh                                  // DevOps执行脚本\n|-  |- cicd                                // 各CI服务的 CI/CD 配置\n|-  |-  |- gitlabci                        // Gitlab CI CI/CD配置\n|-  |-  |- jenkins                         // Jenkins CI/CD配置\n|-  |- docker                              // DevOps使用到的镜像\n|-  |-  |- dew-devops                      // 集成 Java Maven Node Git 的镜像\n|-  |- it                                  // 集成测试\n|- docs                                    // 文档\n----\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgudaoxuri%2Fdew","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgudaoxuri%2Fdew","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgudaoxuri%2Fdew/lists"}