{"id":13487523,"url":"https://github.com/fosin/anan-cloud","last_synced_at":"2025-07-14T20:30:53.231Z","repository":{"id":40635325,"uuid":"153389443","full_name":"fosin/anan-cloud","owner":"fosin","description":"anan基于JDK11、Spring Boot 2.5.x、Spring Cloud 2020生态体系技术，采用微服务前后端分离架构，供开发人员学习和交流。 包括服务注册与发现、服务监控、服务管理、服务治理、服务网关、服务熔断、配置管理、OAuth2认证授权中心等常见微服务组件。 服务注册与发现：支持K8S、Nacos、Eureka； 配置中心：支持K8S、Nacos、SpringCloudConfig； 部署方式：支持K8S(Helm)集群部署、jar包集群部署、Docker-Compose部署、Swarm集群部署 部署组件：数据库中间件（Mysql、RabbitMQ、Redis）、Anan后台服务、Anan前端服务(Ingress)、EFk日志体系、Prometheus+Grafana监控体系","archived":false,"fork":false,"pushed_at":"2024-09-02T00:37:54.000Z","size":13553,"stargazers_count":29,"open_issues_count":0,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-30T22:40:09.204Z","etag":null,"topics":["docker","elk","eureka","grafana","jpa","k8s","mysql","nacos","oauth2","prometheus","rabbitmq","redis","spring-cloud","springboot2","swagger"],"latest_commit_sha":null,"homepage":"","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/fosin.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://upload.jianshu.io/users/qrcodes/22247790/%E5%BE%AE%E4%BF%A1%E5%92%8C%E6%94%AF%E4%BB%98%E5%AE%9D.jpg"]}},"created_at":"2018-10-17T03:20:41.000Z","updated_at":"2024-10-04T20:06:40.000Z","dependencies_parsed_at":"2024-01-16T09:01:39.417Z","dependency_job_id":"6bed4bde-fa79-40b1-bb40-6313e770555b","html_url":"https://github.com/fosin/anan-cloud","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fosin%2Fanan-cloud","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fosin%2Fanan-cloud/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fosin%2Fanan-cloud/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fosin%2Fanan-cloud/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fosin","download_url":"https://codeload.github.com/fosin/anan-cloud/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225994783,"owners_count":17556830,"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":["docker","elk","eureka","grafana","jpa","k8s","mysql","nacos","oauth2","prometheus","rabbitmq","redis","spring-cloud","springboot2","swagger"],"created_at":"2024-07-31T18:01:00.289Z","updated_at":"2024-11-23T03:12:24.641Z","avatar_url":"https://github.com/fosin.png","language":"Java","funding_links":["https://upload.jianshu.io/users/qrcodes/22247790/%E5%BE%AE%E4%BF%A1%E5%92%8C%E6%94%AF%E4%BB%98%E5%AE%9D.jpg"],"categories":["Java"],"sub_categories":[],"readme":"# 设计定位\n    经过几个月，内部大重构的3.0来了，对外功能无变化，使用更强、更快、更好用了！！！\n\n    第一步：正式启用anan-cloudgateway网关模块（基于Reactive的WebFlux技术栈），原网关项目anan-zuulgateway不再支持，Servlet和Reactive两种模式并行使用。（已完成）\n    第二步：逐步将剩余模块从Servlet技术栈迁移至Reactive技术栈。（进行中）\n\n    anan基于JDK11、Spring Boot 2.5.x、Spring Cloud 2020生态体系技术，采用微服务前后端分离架构，供开发人员学习和交流。\n    包括服务注册与发现、服务监控、服务管理、服务治理、服务网关、服务熔断、配置管理、OAuth2认证授权中心等常见微服务组件。\n    服务注册与发现：支持K8S、Nacos、Eureka；\n    配置中心：支持K8S、Nacos、SpringCloudConfig；\n    部署方式：支持K8S(Helm)集群部署、jar包集群部署、Docker-Compose部署、Swarm集群部署\n    部署组件：数据库中间件（Mysql、RabbitMQ、Redis）、Anan后台服务、Anan前端服务(Ingress)、EFk日志体系、Prometheus+Grafana监控体系\n\n对应前端项目地址: \u003chttps://github.com/fosin/anan-vue\u003e\n\n## 技术选型\n\n     技术                                   |           简介 \n    ------                                 |          ------\n    Anan-Boot                              | anan-boot-starter基础构建框架脚手架，基于SpringBoot2.3\n        anan-core                          | 公共核心、工具类\n        anan-security                      | 快速搭建基于Spring Security、Oauth2的授权服务器、资源服务器认证体系\n        anan-jpa                           | 快速构建基于Spring Data Jpa的CRUD、分页、排序、树形数据\n        anan-mybatis                       | 快速构建基于MybatisPlus的CRUD、分页、排序、树形数据\n        anan-swagger                       | 快速构建基于Swagger3.0的API文档\n    Spring MVC                             | MVC分层框架 \n    Spring Webflux                         | Reactive框架技术栈\n    Alibaba Nacos(备选Eureka)               | 服务注册中心 \n    Alibaba Nacos(备选Config)               | 配置管理中心 \n    Alibaba Sentinel                       | 服务限流、熔断框架 \n    Spring Cloud Gateway                   | 服务网关 \n    Spring Cloud OpenFeign                 | 微服务声明式调用框架 \n    Spring Cloud Sleuth Zipkin             | 分布式链路追踪\n    Spring Boot Admin                      | 服务管理中心 \n    Spring Data Redis                      | 缓存框架 \n    OAuth2 Authorization Server            | 单点登录、鉴权、认证框架\n    Slf4j Log4j2 Logback                   | 日志框架\n    Spring Validator                       | 后端验证框架 \n    Hibernate Validator                    | Hibernate验证框架 \n    lombok                                 | 一个通过注解自动生成get/set方法的类库 \n    Thymeleaf                              | HTML5模板引擎  \n    Flyway                                 | 数据库管理  \n    Maven                                  | 项目构建管理  \n    Redis                                  | 缓存内存数据库 \n    Mysql                                  | 对象关系数据库 \n    RabbitMQ                               | 消息中间件\n    ELK                                    | 日志收集、分析组合框架\n    Promethus、Grafana等                    | 智能监控运维框架\n    Vuejs、Nodejs、Webpack、ElementUI       | 前段开发框架\n## 架构设计\n\n### 系统架构图\n\n![系统架构图](docs/image/技术架构图.png)\n\n### 网络拓扑图\n\n![网络拓扑图](docs/image/网络拓扑图.png)\n\n### 模块关系图\n\n![模块关系图](docs/image/模块关系图.png)\n\n### 功能设计图\n\n![功能设计图](docs/image/功能设计图.png)\n\n## 框架版本对照\n\n    anan-cloud    |     anan-boot     |      anan-vue\n    -------------------------------------------------------\n    1.0.x               1.0.x                1.0.0         \n    2.0.x               2.0.x                2.0.0         \n    2.2.x               2.0.x                3.3.x\n    2.3.x               2.1.x                3.3.x\n    2.4.x               2.1.x                3.4.x\n    2.5.x               2.2.x                3.4.x\n    2.6.x               2.3.x                3.4.x\n    2.7.x               2.4.x                3.5.x~3.6.x\n    3.0.x               3.0.x                3.5.x~3.6.x\n    3.1.x               3.1.x                3.7.x\n    3.2.x               3.2.x                3.8.x\n\n## 服务与端口对照\n\n    anan平台服务名称       |     端口\n    -----------------------------------\n    anan-eurakaserver          6100\n    anan-configserver          6110\n    anan-codemaker             6120\n    anan-licenseserver         6130\n    anan-authserver            6140\n    anan-platformserver        6150\n    anan-sbaserver             6170\n    anan-zuulgateway           6190\n    anan-cloudgateway          6190\n\n    anan业务服务名称       |     端口\n    -----------------------------------\n    anan-vhr                   6200\n    anan-exam                  6210\n    anan-mpi                   6220\n\n## 搭建环境\n\n## 1、本地（profile=local）开发环境指南\n\n### 1.1、docker-compose方式\n    \n    简单快速的搭建开发环境的方式，如果不是需要使用k8s进行调试，推荐使用该方式\n\n#### 1.1.1、安装docker\n\n详细介绍 [点这里readme-docker.md](deploy/docker/readme-docker.md)\n\n#### 1.1.2、安装docker-compose并搭建开放环境\n\n详细介绍 [点这里readme-docker-compose.md](deploy/docker/readme-docker-compose.md)\n\n### 1.2、k8s（helm）方式\n    \n    当需要与K8S进行联调开发时，可以选择这种方式，不过部署比较复杂。\n\n详细介绍 [点这里Readme-k8s-dev.md](deploy/k8s/Readme-k8s-dev.md)\n\n### 1.3、运行前端项目anan-vue\n\n详细介绍移步\u003chttps://github.com/fosin/anan-vue\u003e查看前端项目的开发环境搭建过程\n\n## 2、部署生产环境指南\n\n### 2.1、Kubernetes部署(helm)\n\n详细介绍 [点这里Readme.md](deploy/helm/Readme.md)\n\n### 2.2、jar包部署\n\n详细介绍 [点这里readme-jar.md](deploy/jar/readme-jar.md)\n\n### 2.3、Docker Compose环境部署\n\n详细介绍 [点这里readme-docker-compose.md](deploy/docker/readme-docker-compose.md)\n\n### 2.4、Docker Swarm集群环境部署\n\n详细介绍 [点这里readme-swarm.md](deploy/swarm/readme-swarm.md)\n\n## 码农不易，打赏作者一杯茶吧\n\n![打赏](https://upload.jianshu.io/users/qrcodes/22247790/%E5%BE%AE%E4%BF%A1%E5%92%8C%E6%94%AF%E4%BB%98%E5%AE%9D.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffosin%2Fanan-cloud","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffosin%2Fanan-cloud","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffosin%2Fanan-cloud/lists"}