# springcloud **Repository Path**: drjsite/springcloud ## Basic Information - **Project Name**: springcloud - **Description**: No description available - **Primary Language**: Java - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-02-06 - **Last Updated**: 2021-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Build Status Coverage Status Downloads Downloads

springcloud

springcloud 基于 Spring Boot, Spring Cloud 构建企业级微服务开发平台,集成gateway网关、OAuth2认证、quartz定时任务等。基于SpringBootAdmin集成Hystrix、Turbine监控。 ## 简介 **架构图** ![](./images/软件架构.png) #### 软件架构 1. springcloud、eureka、config、gateway、quartz、oauth2 2. redis 3. rabbitmq #### 安装教程 1. 安装redis 2. 安装rabbitmq #### 使用说明 1. 在hosts文件添加 `127.0.0.1 springcloud-eureka` 2. 用idea打开springcloud-fix,先install springcloud-dependencies,再install springcloud-parent 3. 依次启动springcloud-eureka、springcloud-config 4. 可选启动springcloud-gateway、springcloud-auth等 #### 核心依赖 依赖 | 版本 ---|--- Spring Boot | 2.1.6.RELEASE Spring Cloud | Greenwich.SR3 Mybatis Plus | 3.1.2 #### 项目结构 ``` springcloud-fix ├── springcloud-build -- build pom ├── springcloud-dependencies -- dependencies pom ├── springcloud-parent -- parent pom, managing plugins and dependencies ├── springcloud-eureka -- 服务注册与发现[8761] ├── springcloud-config -- 配置中心[8888] ├── springcloud-provider -- 服务提供者[8001] ├── springcloud-consumer -- 服务消费者[8003] └── springcloud-common -- 系统公共模块 ├── springcloud-common-core -- 公共工具类核心包 ├── springcloud-common-log -- 日志服务 ├── springcloud-common-cache -- redis缓存 └── springcloud-common-starter -- 启动配置 springcloud-gateway -- Spring Cloud Gateway网关[9999] ├── springcloud-gateway-api -- api模块 ├── springcloud-gateway-dao -- dao模块 └── springcloud-gateway-web -- web模块 springcloud-user -- Spring Cloud user[8083] ├── springcloud-user-api -- api模块 ├── springcloud-user-dao -- dao模块 └── springcloud-user-web -- web模块 springcloud-auth -- Oauth授权[8082] ├── springcloud-auth-api -- api模块 ├── springcloud-auth-dao -- dao模块 └── springcloud-auth-web -- web模块 springcloud-quartz --定时任务[8084] ├── springcloud-quartz-api -- api模块 ├── springcloud-quartz-dao -- dao模块 └── springcloud-quartz-web -- web模块 ``` #### 提交反馈 1. 欢迎提交 issue,请写清楚遇到问题的原因,开发环境,复显步骤。 2. 756585379@qq.com 4. 个人QQ: 756585379 ## 示例 - [redis实现简单的消息订阅发布](./doc/redis实现简单的消息订阅发布.md) - [SSO单点登录](https://gitee.com/756585379/springcloud/tree/master/demo/sso) - [java设计模式](https://gitee.com/756585379/springcloud/tree/master/demo/java-design-patterns) - [读写分离](https://gitee.com/756585379/springcloud/tree/master/demo/read-write-separate) --- #### Feign的使用说明 ``` @Configuration @ComponentScan({"cn.springcloud.fix.*.api.feign.fallback"}) @EnableFeignClients(value = "cn.springcloud.fix.*.api.feign") @ConditionalOnProperty(name = "feign.enabled", matchIfMissing = true) public class FeignConfig { } ``` 如上配置,@FeignClient的接口类必须在cn.springcloud.fix.*.api.feign包下面,fallback和fallbackFactory类必须在cn.springcloud.fix.*.api.feign.fallback包下,具体见代码 ``` package cn.springcloud.fix.auth.api.feign; @FeignClient(name = "springcloud-auth", path = "/auth/v1", fallback = RemoteAuthServiceFallBack.class) public interface RemoteAuthService { } ``` ``` package cn.springcloud.fix.auth.api.feign.fallback; @Slf4j @Component public class RemoteAuthServiceFallBack implements RemoteAuthService { } ``` #### springcloud-config 配置文件 ``` server: port: 8888 spring: application: name: @artifactId@ profiles: active: native # 本地开发模式,获取本机配置 --- spring: profiles: native cloud: config: server: native: search-locations: classpath:/config/ eureka: instance: prefer-ip-address: true #访问路径可以显示IP地址 client: service-url: defaultZone: http://admin:admin@springcloud-eureka:8761/eureka/ # 生产模式,获取线上配置 --- spring: profiles: prod cloud: config: server: git: uri: https://gitee.com/756585379/springcloud-config-repo.git username: xxx password: yyy eureka: instance: prefer-ip-address: true #访问路径可以显示IP地址 client: service-url: defaultZone: http://admin:admin@springcloud-eureka:8761/eureka/,http://admin:admin@springcloud-eureka:8762/eureka/,http://admin:admin@springcloud-eureka:8763/eureka/ ```