{"id":16329766,"url":"https://github.com/anjoy8/ancba","last_synced_at":"2025-03-20T22:32:09.526Z","repository":{"id":96805500,"uuid":"379794670","full_name":"anjoy8/ancba","owner":"anjoy8","description":"⛳【多模块微服务脚手架平台——Ancba】前后端分离架构SpringBoot 2.x、SpringCloud、SpringAdmin、Spring Security、Mybatis-plus、(Shiro)、JWT、Feign、Nacos、Knif4j、Zipkin、Sleuth等。","archived":false,"fork":false,"pushed_at":"2022-02-09T05:50:32.000Z","size":1086,"stargazers_count":44,"open_issues_count":4,"forks_count":14,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-17T18:33:50.167Z","etag":null,"topics":["feign","mybatis-plus","nacos-spring-cloud","shiro","spring","spring-security","springboot"],"latest_commit_sha":null,"homepage":"http://ancba.neters.club/wallboard","language":"Java","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/anjoy8.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}},"created_at":"2021-06-24T03:40:52.000Z","updated_at":"2024-09-07T06:08:11.000Z","dependencies_parsed_at":"2024-01-29T06:04:07.177Z","dependency_job_id":"1b492c84-7279-4432-9406-73119b366992","html_url":"https://github.com/anjoy8/ancba","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjoy8%2Fancba","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjoy8%2Fancba/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjoy8%2Fancba/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anjoy8%2Fancba/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anjoy8","download_url":"https://codeload.github.com/anjoy8/ancba/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244704107,"owners_count":20496241,"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":["feign","mybatis-plus","nacos-spring-cloud","shiro","spring","spring-security","springboot"],"created_at":"2024-10-10T23:17:13.722Z","updated_at":"2025-03-20T22:32:09.208Z","avatar_url":"https://github.com/anjoy8.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ancba    [![JDK](https://img.shields.io/badge/jdk-1.8.0-d.svg)](#)  [![Build status](https://github.com/anjoy8/ancba/workflows/Java/badge.svg)](https://github.com/anjoy8/ancba/actions)  [![Build Status](https://dev.azure.com/laozhangisphi/anjoy8/_apis/build/status/anjoy8.ancba?branchName=master)](https://dev.azure.com/laozhangisphi/anjoy8/_build?definitionId=2)   [![License MIT](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/anjoy8/ancba/blob/master/LICENSE) \n \n#### 打造`Blog.Core`项目的`SpringBoot`微服务版，但是更强大 👏  \n`Ancba` (Another New CLI By Alacrity) 另一个全新的敏捷脚手架（单体/模块化/微服务都可支持）。\n\n\n#### 联系我\n如果想一起学JAVA，或者想要对Ancba框架有意见或建议的，欢迎加入架构师交流群，只要交流心得都可以进入。\n  \n\u003cimg src=\"https://raw.githubusercontent.com/anjoy8/ancba/master/doc/wechat.png\" width=\"300px;\" /\u003e\n\n### 核心知识点与进度 📣\n\n- [x] 在 `..../resources/application-local.yml` 文件中，配置项目端口号、MySql连接数据等；\n- [x] 使用 `..../generator/MyBatisPlusGenerator` 生成器（直接运行即可），生成三层代码（实体、仓储、服务），若存在，则不覆盖；\n- [x] 基于 `spring-cloud-gateway` 搭建网关服务/认证鉴权/分流熔断；\n- [x] 基于 `alibaba-nacos` 搭建服务发现；（本地测试，查看[官网](https://nacos.io/zh-cn/docs/quick-start.html)）\n- [x] 基于 `alibaba-nacos` 实现配置管理；（参考 `ancba-gateway` 网关微服务，文档查看[官网](https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config)）\n- [x] 集成 `spring-boot-admin` 做服务监控；\n- [x] 集成 `Swagger2` 做接口文档，并封装插件，通过注解引入微服务；\n- [x] 基于 `Knif4j` 工具，配合网关，搭建微服务聚合文档；（参考 `ancba-gateway` 网关微服务)\n- [x] 基于 `spring-security` 的`oauth2`协议搭建认证中心，并封装插件，全局可拔插使用；\n- [x] 封装 `apache-shiro` 微服务 ，实现简单用户授权操作；（测试 `shiro` 的demo，整个微服务项目基于security做认证授权）\n- [x] 基于数据库动态配置权限，实现 `RBAC` 服务授权；（参考 `ancba-user` 用户微服务，或者在网关中查看 `accessManager`)\n- [x] 使用 `spring-cloud-openfeign` 实现服务间调用；（参考 `ancba-user` 用户微服务)\n- [x] 实现 `openfign` 调用被 `security` 加权的其他微服务；（案例同上，通过`token`方式，也可在网关处理鉴权，服务间就不用鉴权）\n- [x] 基于 `xxl.job` 实现分布式任务调度；（参考 `ancba-task-xxl` 任务微服务)\n- [x] 使用 `spring-cloud-sleuth` 配合 `zipkin` 实现链路追踪；（参考 `ancba-user` 用户微服务)\n- [ ] and so on...\n\n\n\n### Docker - 全部镜像\n\n| Image | Status | Image | Status |\n| ------------- | ------------- | ------------- | ------------- |\n| laozhangisphi/ancba-user |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-user) | laozhangisphi/ancba-admin |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-admin) |\n| laozhangisphi/ancba-authorizer-oauth2 |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-authorizer-oauth2) | laozhangisphi/ancba-shrio-demo |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-shrio-demo) |\n| laozhangisphi/ancba-task-xxl |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-task-xxl) | laozhangisphi/ancba-gateway |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-gateway) |\n| laozhangisphi/ancba-blog |  [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-blog) | |  |\n\n_**Master** branch contains the latest **beta** code and their images are tagged with `:0.0.1-SNAPSHOT` in our [Docker Hub](https://hub.docker.com/u/laozhangisphi)_\n\n \n \n \n \n\n  \n### 操作与运行步骤 📕\n\n- [x] 如果要单独运行某一个项目，需要在对应的 `application.yml` 文件中，配置数据库相关数据，用到的是 `blog.core` 的项目的数据库，当然你也可以重新生成一个新的数据库。数据库文件地址是：`https://gitee.com/laozhangIsPhi/gtFiles/raw/master/blogcore001.sql`。\n- [x] 如果要查看认证鉴权/网关/服务发现/Admin服务管理等效果，请参考上面的对应步骤。\n\n\n  \n### 目的与希望 👍：   \n\n- [x] 如果感觉对自己现在或者将来有帮助，麻烦点个Star吧。\n- [x] 给 `.NET Core` 学习者一个了解`java`的机会，我们同处多语言的时代；\n- [x] PS：目前本项目在开发设计中，欢迎有志之士一起设计推广学习；\n\n  \n### 运行与效果 🎶：   \n\n- [x] 目前所有服务器展示（spring-admin）；\n[![Admin Service](./doc/admin.png)](https://github.com/anjoy/ancba)  \n\n- [x] 单个微服务所占内存；  \n[![Admin Service](./doc/admin-more.png)](https://github.com/anjoy/ancba)  \n\n- [x] 注册中心/配置中心（nacos）；  \n[![Admin Service](./doc/nacos.png)](https://github.com/anjoy/ancba)  \n\n- [x] 任务调度中心（xxl.job）；  \n[![Admin Service](./doc/xxl.png)](https://github.com/anjoy/ancba)  \n\n- [x] 链路调度（zipkin/sleuth）；  \n[![Admin Service](./doc/zipkin.png)](https://github.com/anjoy/ancba)  \n[![Admin Service](./doc/z2.png)](https://github.com/anjoy/ancba)  \n\n- [x] 网关限流；  \n[![Admin Service](./doc/limit.png)](https://github.com/anjoy/ancba)  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanjoy8%2Fancba","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanjoy8%2Fancba","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanjoy8%2Fancba/lists"}