An open API service indexing awesome lists of open source software.

https://github.com/anjoy8/ancba

⛳【多模块微服务脚手架平台——Ancba】前后端分离架构SpringBoot 2.x、SpringCloud、SpringAdmin、Spring Security、Mybatis-plus、(Shiro)、JWT、Feign、Nacos、Knif4j、Zipkin、Sleuth等。
https://github.com/anjoy8/ancba

feign mybatis-plus nacos-spring-cloud shiro spring spring-security springboot

Last synced: about 2 months ago
JSON representation

⛳【多模块微服务脚手架平台——Ancba】前后端分离架构SpringBoot 2.x、SpringCloud、SpringAdmin、Spring Security、Mybatis-plus、(Shiro)、JWT、Feign、Nacos、Knif4j、Zipkin、Sleuth等。

Awesome Lists containing this project

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)

#### 打造`Blog.Core`项目的`SpringBoot`微服务版,但是更强大 👏
`Ancba` (Another New CLI By Alacrity) 另一个全新的敏捷脚手架(单体/模块化/微服务都可支持)。

#### 联系我
如果想一起学JAVA,或者想要对Ancba框架有意见或建议的,欢迎加入架构师交流群,只要交流心得都可以进入。

### 核心知识点与进度 📣

- [x] 在 `..../resources/application-local.yml` 文件中,配置项目端口号、MySql连接数据等;
- [x] 使用 `..../generator/MyBatisPlusGenerator` 生成器(直接运行即可),生成三层代码(实体、仓储、服务),若存在,则不覆盖;
- [x] 基于 `spring-cloud-gateway` 搭建网关服务/认证鉴权/分流熔断;
- [x] 基于 `alibaba-nacos` 搭建服务发现;(本地测试,查看[官网](https://nacos.io/zh-cn/docs/quick-start.html))
- [x] 基于 `alibaba-nacos` 实现配置管理;(参考 `ancba-gateway` 网关微服务,文档查看[官网](https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config))
- [x] 集成 `spring-boot-admin` 做服务监控;
- [x] 集成 `Swagger2` 做接口文档,并封装插件,通过注解引入微服务;
- [x] 基于 `Knif4j` 工具,配合网关,搭建微服务聚合文档;(参考 `ancba-gateway` 网关微服务)
- [x] 基于 `spring-security` 的`oauth2`协议搭建认证中心,并封装插件,全局可拔插使用;
- [x] 封装 `apache-shiro` 微服务 ,实现简单用户授权操作;(测试 `shiro` 的demo,整个微服务项目基于security做认证授权)
- [x] 基于数据库动态配置权限,实现 `RBAC` 服务授权;(参考 `ancba-user` 用户微服务,或者在网关中查看 `accessManager`)
- [x] 使用 `spring-cloud-openfeign` 实现服务间调用;(参考 `ancba-user` 用户微服务)
- [x] 实现 `openfign` 调用被 `security` 加权的其他微服务;(案例同上,通过`token`方式,也可在网关处理鉴权,服务间就不用鉴权)
- [x] 基于 `xxl.job` 实现分布式任务调度;(参考 `ancba-task-xxl` 任务微服务)
- [x] 使用 `spring-cloud-sleuth` 配合 `zipkin` 实现链路追踪;(参考 `ancba-user` 用户微服务)
- [ ] and so on...

### Docker - 全部镜像

| Image | Status | Image | Status |
| ------------- | ------------- | ------------- | ------------- |
| 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) |
| 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) |
| 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) |
| laozhangisphi/ancba-blog | [![JDK](https://img.shields.io/badge/image-succeed-d.svg)](https://hub.docker.com/repository/docker/laozhangisphi/ancba-blog) | | |

_**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)_





### 操作与运行步骤 📕

- [x] 如果要单独运行某一个项目,需要在对应的 `application.yml` 文件中,配置数据库相关数据,用到的是 `blog.core` 的项目的数据库,当然你也可以重新生成一个新的数据库。数据库文件地址是:`https://gitee.com/laozhangIsPhi/gtFiles/raw/master/blogcore001.sql`。
- [x] 如果要查看认证鉴权/网关/服务发现/Admin服务管理等效果,请参考上面的对应步骤。


### 目的与希望 👍:

- [x] 如果感觉对自己现在或者将来有帮助,麻烦点个Star吧。
- [x] 给 `.NET Core` 学习者一个了解`java`的机会,我们同处多语言的时代;
- [x] PS:目前本项目在开发设计中,欢迎有志之士一起设计推广学习;


### 运行与效果 🎶:

- [x] 目前所有服务器展示(spring-admin);
[![Admin Service](./doc/admin.png)](https://github.com/anjoy/ancba)

- [x] 单个微服务所占内存;
[![Admin Service](./doc/admin-more.png)](https://github.com/anjoy/ancba)

- [x] 注册中心/配置中心(nacos);
[![Admin Service](./doc/nacos.png)](https://github.com/anjoy/ancba)

- [x] 任务调度中心(xxl.job);
[![Admin Service](./doc/xxl.png)](https://github.com/anjoy/ancba)

- [x] 链路调度(zipkin/sleuth);
[![Admin Service](./doc/zipkin.png)](https://github.com/anjoy/ancba)
[![Admin Service](./doc/z2.png)](https://github.com/anjoy/ancba)

- [x] 网关限流;
[![Admin Service](./doc/limit.png)](https://github.com/anjoy/ancba)