# SpringCloud **Repository Path**: cyf2018/SpringCloud ## Basic Information - **Project Name**: SpringCloud - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-08-04 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringCloud Spring Cloud 完整工程示例 ## 项目模块介绍 - SpringCloud -- 父工程 - SpringCloud-api -- 公共模块 - SpringCloud-consumer -- 服务消费者 - SpringCloud-eureka -- Eureka 注册中心一 - SpringCloud-eureka-02 -- Eureka 注册中心二 - SpringCloud-eureka-03 -- Eureka 注册中心三 - SpringCloud-provider -- 服务提供者 一 - SpringCloud-provider-02 -- 服务提供者 二 - SpringCloud-provider-03 -- 服务提供者 三 ## 开发环境 jdk1.8 + maven3.3.9 + MyEclipse2017 ## 技术栈 Eureka + Ribbon + IRule + Feign + Hystrix + Feign Ribbon: 负载均衡(), 核心组件: IRule Ribbon + RestTemplate 方式 自定义负载均衡算法,默认是 轮询算法 @Bean public IRule getIRule(){return new RandomRule(); 负载均衡算法类别(7种): http://www.gulixueyuan.com/course/46/task/1091/show 时间17:04 Feign: 负载均衡(声明式webservice服务客户端) 面向接口方式 ## 启动方式 - 建表/建库 SpringCloud-provider / src/main/resources/mybatis/db/init.sql - 修改配置文件 SpringCloud-provider / src/main/resources/application.yml ### 单机版启动 - 启动 SpringCloud-eureka(eureka 服务注册中心) - 启动SpringCloud-provider(服务提供者),服务注册到eureka 服务注册中心 - 启动SpringCloud-consumer(服务消费者),ͨ通过调用 eureka 服务注册中心的服务名称 SPRINGCLOUD-PROVIDER 调用其中的实现 ### Ribbon负载均衡启动 - 启动 SpringCloud-eureka(eureka服务注册 中心) - 访问: http://eureka7001:7001/ - 启动 SpringCloud-provider/SpringCloud-provider-02/SpringCloud-provider-03 服务提供者 - 访问地址: http://localhost:8001/list & http://localhost:8002/list & http://localhost:8003/list ### 注意: - 服务提供者的服务名称要一致(配置文件: resources/application.yml) spring: application: name: SpringCloud-provider # 微服务名称 - 自定义服务名称要不一致 (配置文件: resources/application.yml),否则Eureka 服务注册中心上只会注册其中一个微服务!!!! instance: instance-id: SpringCloudProvider8002 # 自定义服务名称 prefer-ip-address: true # 访问路径可显示IP地址ַ - Eureka 服务注册中心 (defaultZone: http://eureka7001:7001/eureka) client: service-url: defaultZone: http://eureka7001:7001/eureka/ # 本来应该是配置多个Eureka 服务注册中心,但由于本机无法启动多个服务 + 多个服务注册中心。所以改用一个。 - 启动 SpringCloud-consumer (服务消费者) -访问: http://localhost/list 结果: 会轮番调用服务提供者的实现 db_soure: db001 db_soure: db002 ........... ## 已实现功能 - SpringCloud 服务注册与发现 (单机版) - SpringCloud & Ribbon 服务注册与发现 (负载均衡,Ribbon + RestTemplate) - SpringCloud & Ribbon / IRule (Ribbon 的核心组件) 实现负载均衡的自定义算法 - SpringCloud & Feign 服务注册与发现 (负载均衡,面向接口) - .................. 待更新 2018.08.04